Release process

Adds a makefile target to build releases for different target architectures/OSes.

Also adds a script to upload the result as a github release.
Could we make this available through `make`? I think this is complex enough that having it as a separate script is good (also makes it easier to reuse in other repos), but it'd be nice if we could run it through `make` for ease-of-use.

In Sphinx, we have a phony `build` target that does the compilation and a phony `release` target that depends on `build` and does the upload