Machinery for versioned releases

Script to prepare and publish versioned releases.

Workflow:

```
emacs CHANGELOG.md # add entry at top for v0.1.0
git tag -a v0.1.0
git push --tags upstream
./bin/release build
./bin/release publish
```

There is no need to change the existing go code, i.e. we can keep the current

    var version = "(unreleased version)"

definition. The `-X` overrides that.