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`
does this shut down the daemon too? if so maybe:

```Go
// before applying the update
daemonRunning := daemonIsRunning()
if daemonRunning && !force {
  fmt.Fprintln(out, "Error: update must stop running ipfs service.")
  fmt.Fprintln(out, "You may want to wait or shut it down manually.")
  fmt.Fprintln(out, "Or, to shut it down automatically, run: ipfs update apply -f")
}

...

fmt.Fprintln(out, "Updated applied!")
if daemonRunning {
  fmt.Fprintln(out, "You can now restart the ipfs service.")
}
```