* Reduce cache usage across job types (I saw weird errors about files missing from paths in the GOCACHE)
* Split our Dockerfile into multiple stages, with all `RUN` commands in the 1st stage
* Uninstall any system-provided emulators before installing the recommended `binfmt` QEMU
* Move our Docker setup to the front of the cross-build steps
* Build the 1st stage of our Docker immediately after setting up the cross-builder, to fail fast on any issues
* Create Dockerfile for running build & release in CI
* Update CircleCI config to use new Docker image
* Update goreleaser to add a linux ARM64 release