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 we want to make the deploy process for this the same as it is for our node repositories, probably what we want to happen is assume that tag already exists (or, at least, not error if the POST fails), but DO error if the release for this tag already exists on Github.