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/default.nix b/default.nix
index 07d1259..787bdf9 100644
--- a/default.nix
+++ b/default.nix
@@ -7,11 +7,11 @@
 
   readTree = import ./nix/readtree {};
 
-  # Tracking nixos-unstable as of 2021-08-11.
-  nixpkgsCommit = "42aae6fa748a41ced37373fc6d914de512658178";
+  # Tracking nixos-unstable as of 2023-07-24.
+  nixpkgsCommit = "e6b1f2f22b28851d5515eb53d8d5e905aabdad46";
   nixpkgsSrc = fetchTarball {
     url = "https://github.com/NixOS/nixpkgs/archive/${nixpkgsCommit}.tar.gz";
-    sha256 = "I7oAGC1Ldm5kcryUQxLubMmMCj5o0n+JSLVGRCL0wm8=";
+    sha256 = "sha256:0jwwndkdfrv8cfcv47ir1k05gqqxhpi3jkv3dsyflv0wy3pl98g2";
   };
   nixpkgs = import nixpkgsSrc {
     config.allowUnfree = true;