hoodie-cli rewrite

adds:

* tests
* more separation of concerns
* checks for updates on launch
* and a bunch of fixes to open issues

please review
@janl @caolan @gr2m