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.
If you add non-Go files to the releases, there would be some list of files in the release process that this could pull from. This is the type of stuff that `Make` was made to solve.

I agree that it's not necessary, though.