WORKSPACE: bump rules_go go 0.29 and Go to 1.17.1

The changes to nogo are from rules_go being able to use go_library
targets as part toolchain definitions. gVisor needed to be bumped
to be compatible with Go 1.17. It also needs a fix for us not having
the systemd cgroup controller.

Change-Id: I058b5c68d97809a286fbe36df00e49e55874dfd5
Reviewed-on: https://review.monogon.dev/c/monogon/+/438
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/build/analysis/BUILD.bazel b/build/analysis/BUILD.bazel
index 621e30b..f4f3f66 100644
--- a/build/analysis/BUILD.bazel
+++ b/build/analysis/BUILD.bazel
@@ -5,28 +5,28 @@
 # that are always correct).
 # You can see the what `go vet` does by running `go doc cmd/vet`.
 govet = [
-    "@org_golang_x_tools//go/analysis/passes/asmdecl:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/assign:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/atomic:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/bools:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/buildtag:go_tool_library",
+    "@org_golang_x_tools//go/analysis/passes/asmdecl:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/assign:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/atomic:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/bools:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/buildtag:go_default_library",
     # Disable cgocall because it fails processing com_github_mattn_go_sqlite3 before exclusions are applied
-    #"@org_golang_x_tools//go/analysis/passes/cgocall:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/composite:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/copylock:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/httpresponse:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/loopclosure:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/lostcancel:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/nilfunc:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/printf:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/shift:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/stdmethods:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/structtag:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/tests:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/unmarshal:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/unreachable:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/unsafeptr:go_tool_library",
-    "@org_golang_x_tools//go/analysis/passes/unusedresult:go_tool_library",
+    #"@org_golang_x_tools//go/analysis/passes/cgocall:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/composite:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/copylock:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/httpresponse:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/loopclosure:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/lostcancel:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/nilfunc:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/printf:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/shift:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/stdmethods:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/structtag:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/tests:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/unmarshal:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/unreachable:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/unsafeptr:go_default_library",
+    "@org_golang_x_tools//go/analysis/passes/unusedresult:go_default_library",
 ]
 
 nogo(
@@ -40,6 +40,6 @@
         # to be soft-reflowable by text editors), but comments are kept at a
         # 'standard' 80 characters long, as prose within comment blocks does not
         # soft-reflow well.
-        "@com_github_corverroos_commentwrap//:go_tool_library",
+        "@com_github_corverroos_commentwrap//:go_default_library",
     ],
 )
diff --git a/build/analysis/nogo_config.json b/build/analysis/nogo_config.json
index e9054ca..8f97918 100644
--- a/build/analysis/nogo_config.json
+++ b/build/analysis/nogo_config.json
@@ -1,20 +1,7 @@
 {
   "composites": {
     "exclude_files": {
-      "external/io_k8s_kubernetes/": "third_party",
-      "external/bazel_gazelle/language/go/": "third_party",
-      "external/com_github_golang_protobuf/": "third_party",
-      "external/com_github_google_gvisor/": "third_party",
-      "external/io_k8s_apimachinery/pkg/runtime/serializer/versioning/": "third_party",
-      "external/io_k8s_sigs_structured_merge_diff/": "third_party",
-      "external/io_k8s_client_go/": "third_party",
-      "external/io_k8s_kube_openapi/": "third_party",
-      "external/io_k8s_apiserver/": "third_party",
-      "external/org_golang_x_tools/": "third_party",
-      "external/io_k8s_apiextensions_apiserver/": "third_party",
-      "external/org_golang_x_text/": "third_party",
-      "external/io_bazel_rules_docker/": "third_party",
-      "external/com_github_grpc_ecosystem_grpc_opentracing": "third_party"
+      "external/": "third_party"
     }
   },
   "copylocks": {
@@ -65,7 +52,8 @@
       "external/io_k8s_sigs_structured_merge_diff/": "third_party",
       "external/com_github_go_delve_delve/": "third_party",
       "external/com_github_mailru_easyjson/jlexer/": "third_party",
-      "external/com_github_cilium_ebpf/": "third_party"
+      "external/com_github_cilium_ebpf/": "third_party",
+      "external/org_golang_x_sys": "third_party"
     }
   },
   "unusedresult": {