minigbm: virtgpu: add virgl_protocol.h, add external directory

This adds Mesa protocol headers for BLOB resources.  Also some
code movement.  See:

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4821

for another example.

BUG=chromium:924405
TEST=compile

Change-Id: I330851e6a58d4e12be8e0e882a230a1cca83e7a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/1804828
Reviewed-by: Jason Macnak <natsu@google.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
diff --git a/presubmit.sh b/presubmit.sh
index 5e8a32a..128862e 100755
--- a/presubmit.sh
+++ b/presubmit.sh
@@ -6,4 +6,5 @@
 	'(' -name '*.[ch]' -or -name '*.cc' ')' \
 	-not -name 'virtgpu_drm.h' \
 	-not -name 'gbm.h' -not -name 'virgl_hw.h' \
+	-not -name 'virgl_protocol.h' \
 	-exec clang-format -style=file -i {} +