Auto update

addresses most of #169 and #170.

Unsolved: vanilla go-update is unable to pull different version. it just compares binary checksums.
Because of this i left `ipfs update log` unimplemented. Maybe use github release tags for this?

To set up autoUpdate:
* create an account at [equinox.io](https://equinox.io/user/login) and download the release tool
* change  user, secret and app_id in  `cmd/ipfs/equinox.yaml` and in `updates/updates.go` update `const updateAppID`
* create keypair for siging with `equinox genkey --private-key equinox-priv --public-key equinox-pub`
* update `const updatePubKey` in  `updates/updates.go` with the contents of `equinox-pub` 
* push new release with `equinox release --config equinox.yaml --version 0.2.0`
> the removal of the `} else {` means that now, after checking, if update fails, it will fail to check again until the next day, right?

If the check for an update fails, it will error out immediatly. i just noticed that i'm not checking wether `CheckWarn` or `CheckError` is set.

> This has the effect of nagging the user to update on every run once an update is avail.

Just to be sure: do you want this nagging behaviour or not?