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/k8s-native-metrics.patch b/third_party/go/patches/k8s-native-metrics.patch
index 859ee74..2edc60d 100644
--- a/third_party/go/patches/k8s-native-metrics.patch
+++ b/third_party/go/patches/k8s-native-metrics.patch
@@ -1,59 +1,15 @@
-Copyright 2020 The Monogon Project Authors.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-
-From b16e57cc52a437465bbd12c24fb05fe5790afe1d Mon Sep 17 00:00:00 2001
+From e3b5a31bff00c89fc95f85212bf0943d46692616 Mon Sep 17 00:00:00 2001
 From: Lorenz Brun <lorenz@brun.one>
 Date: Tue, 17 Mar 2020 21:41:08 +0100
-Subject: [PATCH 2/3] Add a native volume metrics implementation
+Subject: [PATCH 2/2] Add a native volume metrics implementation
 
 ---
- pkg/volume/BUILD                  |   3 +
  pkg/volume/metrics_native.go      | 101 +++++++++++++++++++++++++++++
  pkg/volume/metrics_native_test.go | 102 ++++++++++++++++++++++++++++++
- 3 files changed, 206 insertions(+)
+ 2 files changed, 203 insertions(+)
  create mode 100644 pkg/volume/metrics_native.go
  create mode 100644 pkg/volume/metrics_native_test.go
 
-diff --git a/pkg/volume/BUILD b/pkg/volume/BUILD
-index 720b13406dc..b6e4b7e6d6f 100644
---- a/pkg/volume/BUILD
-+++ b/pkg/volume/BUILD
-@@ -7,6 +7,7 @@ go_library(
-         "metrics_cached.go",
-         "metrics_du.go",
-         "metrics_errors.go",
-+        "metrics_native.go",
-         "metrics_nil.go",
-         "metrics_statfs.go",
-         "noop_expandable_plugin.go",
-@@ -35,6 +36,7 @@ go_library(
-         "@io_k8s_client_go//tools/cache:go_default_library",
-         "@io_k8s_client_go//tools/record:go_default_library",
-         "@io_k8s_cloud_provider//:go_default_library",
-+        "@org_golang_x_sys//unix:go_default_library",
-         "@io_k8s_klog_v2//:go_default_library",
-         "@io_k8s_utils//exec:go_default_library",
-         "@io_k8s_utils//mount:go_default_library",
-@@ -55,6 +57,7 @@ go_test(
-     name = "go_default_test",
-     srcs = [
-         "metrics_du_test.go",
-+        "metrics_native_test.go",
-         "metrics_nil_test.go",
-         "metrics_statfs_test.go",
-         "plugins_test.go",
 diff --git a/pkg/volume/metrics_native.go b/pkg/volume/metrics_native.go
 new file mode 100644
 index 00000000000..3934b946f2e