m/n/k/containerd: upgrade to v2

Upgrade containerd to 2.0, migrate config and adjust all paths.
No new K8s features are enabled yet, this will come separately.

Also bumps gVisor to the latest version and essentially reimplements the
shim as the API has changed a lot.

A drive-by fix in clitable was necessary as the x/tools upgrade
introduced a new analysis pass.

Change-Id: I9d25af203b94667aaac69a71eeccad2d42aa5f99
Reviewed-on: https://review.monogon.dev/c/monogon/+/3622
Tested-by: Jenkins CI
Reviewed-by: Jan Schär <jan@monogon.tech>
diff --git a/build/analysis/BUILD.bazel b/build/analysis/BUILD.bazel
index d3d51be..8110f9e 100644
--- a/build/analysis/BUILD.bazel
+++ b/build/analysis/BUILD.bazel
@@ -138,7 +138,7 @@
             "external/io_etcd_go_etcd_client_v3": "third_party",
             "external/com_github_coredns_coredns": "third_party",
             "external/io_etcd_go_etcd_server_v3": "third_party",
-            "external/com_github_containerd_containerd": "third_party",
+            "external/com_github_containerd_containerd_v2": "third_party",
             "external/io_k8s_client_go": "third_party",
             "external/io_k8s_apiserver": "third_party",
             "external/io_k8s_kubectl": "third_party",
diff --git a/build/bazel/go.MODULE.bazel b/build/bazel/go.MODULE.bazel
index 7cbe759..8b6eaef 100644
--- a/build/bazel/go.MODULE.bazel
+++ b/build/bazel/go.MODULE.bazel
@@ -16,7 +16,7 @@
     "com_github_cenkalti_backoff_v4",
     "com_github_cockroachdb_cockroach_go_v2",
     "com_github_container_storage_interface_spec",
-    "com_github_containerd_containerd",
+    "com_github_containerd_containerd_v2",
     "com_github_containernetworking_plugins",
     "com_github_coreos_go_semver",
     "com_github_corverroos_commentwrap",
@@ -113,15 +113,11 @@
             "gazelle:proto disable",
         ],
     },
-    "github.com/containerd/containerd": {
+    "github.com/containerd/containerd/v2": {
         "directives": [
             "gazelle:proto disable",
             "gazelle:build_tags no_btrfs,no_zfs",
         ],
-        "pre_patches": [
-            # We build with newer CRI API definitions.
-            "//third_party/go/patches:containerd-grpc-inherit-unimplemented.patch",
-        ],
     },
     "github.com/containerd/cgroups/v3": {
         "directives": [
@@ -364,16 +360,9 @@
     "gvisor.dev/gvisor": {
         "patches": [
             "//third_party/go/patches:gvisor-fix-syslog.patch",
-            # Gazelle doesn't understand conditional build files.
-            # https://github.com/bazelbuild/bazel-gazelle/issues/1262
-            "//third_party/go/patches:gvisor-fix-gazelle-debug-builds.patch",
         ],
         "pre_patches": [
             "//third_party/go/patches:gvisor-containerd-compat.patch",
-            # Modified patch for the go branch.
-            # 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",
         ],
     },
     "go.etcd.io/etcd/tests/v3": {