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/gvisor-fix-resolution.patch b/third_party/go/patches/gvisor-fix-resolution.patch
new file mode 100644
index 0000000..71e0af5
--- /dev/null
+++ b/third_party/go/patches/gvisor-fix-resolution.patch
@@ -0,0 +1,10 @@
+--- a/pkg/coverage/BUILD.bazel
++++ b/pkg/coverage/BUILD.bazel
+@@ -11,7 +11,7 @@ go_library(
+     deps = [
+         "//pkg/hostarch",
+         "//pkg/sync",
+-        "@io_bazel_rules_go//go/tools/coverdata:go_default_library",
++        "@io_bazel_rules_go//go/tools/coverdata",
+     ],
+ )