Skeleton of a release script
Add version reporting to weaver
Up to the point of making a git release

(under my own account for the minute)
Better (working) way of checking for a release
Push tagged images to docker
prepare -> build to better avoid mistakes
Put versions in the script and weavedns too, and report them

    sudo weave version
Switch to proper github and dockerhub repo
Don't hardwire executable names; use logical names instead

We could use `os.Args[0]` instead of hardwired names, but that ends up
being e.g. `/home/weave/weaver`. So, use logical names instead.
Quote all echoings and be consistent about the message prefix
Do better with checking the changelog

Before, this could fail without a message if there was a changelog but
no matching line.

Also change the changelog format
      == Release v0.0.1
to
      == Release 0.0.1
refactor: narrow dependencies of Routes
it doesn't need to know about the Router, just Ourself and Peers.
remove cruft
refactor: move ConnectionMaker and related types
refactor: reduce dependencies of ConnectionMaker
it doesn't need to know about Router, just Ourself and Peers
refactor: reduce dependency on peer.Router
now the only code depending on it is Peer itself
refactor: further reduce dependency on router
Fix document link.
Merge pull request #299 from viirya/fix_doc_link

Minor fix of document link
gofmt