all: re-organize build/release

- extract steps into shell files
- fix GoReleaser builds (I hope)
- rely more on the toolchain for version information
- allow non-standard builds, but print a warning

Suggested-by: Marc-Antoine Ruel <maruel@gmail.com>
diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml
index 44494eb..d511538 100644
--- a/.github/workflows/release-build.yml
+++ b/.github/workflows/release-build.yml
@@ -79,7 +79,8 @@
         uses: goreleaser/goreleaser-action@v4
         with:
           version: latest
-          args: release --clean
+          # because our builds aren't hermetic, we must build serially
+          args: release --clean --parallelism 1
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}