treewide: switch to gomod and bump everything

This switches version resolution from fietsje to gomod and updates
all Go dependencies. It also bumps rules_go (required by gVisor) and
switches the Gazelle naming convention from go_default_xxx to the
standard Bazel convention of the default target having the package
name.

Since Kubernetes dropped upstream Bazel support and doesn't check in
all generated files I manually pregenerated the OpenAPI spec. This
should be fixed, but because of the already-huge scope of this CL
and the rebase complexity this is not in here.

Change-Id: Iec8ea613d06946882426c2f9fad5bda7e8aaf833
Reviewed-on: https://review.monogon.dev/c/monogon/+/639
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
Reviewed-by: Leopold Schabel <leo@nexantic.com>
diff --git a/third_party/go/patches/libseccomp.patch b/third_party/go/patches/libseccomp.patch
new file mode 100644
index 0000000..0778f33
--- /dev/null
+++ b/third_party/go/patches/libseccomp.patch
@@ -0,0 +1,12 @@
+--- a/BUILD.bazel  2022-03-21 17:04:56.160536936 +0100
++++ b/BUILD.bazel   2022-03-21 17:05:52.439616250 +0100
+@@ -6,6 +6,9 @@
+         "seccomp.go",
+         "seccomp_internal.go",
+     ],
++    cdeps = [
++        "@seccomp",
++    ],
+     cgo = True,
+     importpath = "github.com/seccomp/libseccomp-golang",
+     visibility = ["//visibility:public"],