go: re-do the entire thing

This is a mega-change, but attempting to split this up further is
probably not worth the effort.

Summary:

1. Bump up bazel, rules_go, and others.
2. Switch to new go target naming (bye bye go_default_library)
3. Move go deps to go.mod/go.sum, use make gazelle generate from that
4. Bump up Python deps a bit

And also whatever was required to actually get things to work - loads of
small useless changes.

Tested to work on NixOS and Ubuntu 20.04:

   $ bazel build //...
   $ bazel test //...

Change-Id: I8364bdaa1406b9ae4d0385a6b607f3e7989f98a9
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1583
Reviewed-by: q3k <q3k@hackerspace.pl>
diff --git a/bzl/workspace-status.sh b/bzl/workspace-status.sh
index 56a3d4d..af52c2d 100755
--- a/bzl/workspace-status.sh
+++ b/bzl/workspace-status.sh
@@ -30,7 +30,7 @@
 echo STABLE_GIT_VERSION $(rev .)
 echo STABLE_BUILDER $(id -un)@$(hostname -f):$(pwd)
 
-# Kubernetes compatibility - see //third_party/go/kubernetes:version.bzl.
+# Kubernetes compatibility - see //third_party/go:kubernetes_version_def.bzl.
 echo STABLE_KUBERNETES_buildDate $(date -u +'%Y-%m-%dT%H:%M:%SZ')
 echo STABLE_KUBERNETES_gitCommit $(git rev-parse HEAD)
 echo STABLE_KUBERNETES_gitMajor $KUBE_MAJOR