treewide: update to Kubernetes 1.31

Overall not that bad, we got rid of some workarounds and added some new
ones. Biggest change is a significant refactor of the hyperkube package
as Kubernetes really doesn't like multiple of their top-level Cobra
commands to be instantiated. One new patch for gVisor as new fields got
added to a Linux struct which caused codegen to rename an existing one.
That patch will go away once [1] is released as this has been changed
back again.
Otherwise mostly standard rebases of patches. We currently have a
warning in kubelet as our containerd CRI does not support the
RuntimeConfig RPC, but no released version of containerd has that and
the fallback works fine for now.

[1] https://go-review.googlesource.com/c/sys/+/607876

Change-Id: I275e5fb78bc1d09c4ca0e8b5705edbaa80f30d96
Reviewed-on: https://review.monogon.dev/c/monogon/+/3355
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/go.MODULE.bazel b/go.MODULE.bazel
index 068ba57..4d69a62 100644
--- a/go.MODULE.bazel
+++ b/go.MODULE.bazel
@@ -371,6 +371,7 @@
             # Upstream issue https://github.com/google/gvisor/issues/9039
             # Upstream patch https://github.com/google/gvisor/commit/62afa160fe8ad17302d43f7c6016061de57c7f4d
             "//third_party/go/patches:gvisor-fix-debug-builds.patch",
+            "//third_party/go/patches:gvisor-unix-0.20.patch",
         ],
     },
     "go.etcd.io/etcd/tests/v3": {