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/bgpwtf/cccampix/frontend/BUILD.bazel b/bgpwtf/cccampix/frontend/BUILD.bazel
index f9bbd90..c7ea255 100644
--- a/bgpwtf/cccampix/frontend/BUILD.bazel
+++ b/bgpwtf/cccampix/frontend/BUILD.bazel
@@ -1,11 +1,10 @@
-load("@subpar//:subpar.bzl", "par_binary")
 load("@pydeps//:requirements.bzl", "requirement")
 
 py_library(
     name = "frontend_lib",
     srcs = [
-        "frontend.py",
         "channel.py",
+        "frontend.py",
     ],
     data = glob([
         "templates/**",
@@ -15,8 +14,8 @@
         requirement("flask"),
         requirement("werkzeug"),
         requirement("itsdangerous"),
-        "//bgpwtf/cccampix/proto:ix_py_proto",
         "//bgpwtf/cccampix/proto:ix_grpc_proto",
+        "//bgpwtf/cccampix/proto:ix_py_proto",
     ],
 )
 
@@ -31,22 +30,21 @@
     ],
 )
 
-par_binary(
+py_binary(
     name = "frontend",
-    main = "server.py",
     srcs = [
         "server.py",
     ],
+    legacy_create_init = False,
+    main = "server.py",
+    visibility = [
+        "//bgpwtf/cccampix:__pkg__",
+    ],
     deps = [
         ":frontend_lib",
         requirement("gevent"),
         requirement("gunicorn"),
         requirement("greenlet"),
     ],
-    visibility = [
-        "//bgpwtf/cccampix:__pkg__",
-    ],
-    legacy_create_init = False,
-    zip_safe = False,
     #no_remove = True,
 )