Checking for updates

This PR makes `ipfs` reach the Github API endpoint for the list of this repo's git tags on every run. It then attempts to read the tag names as `semver` version labels and compares them to the running one (defined as a `Version` const literal in `cmd/ipfs/version.go`).

If the running version is older than the most recent available, the error message is shown (suggesting strongly to update) and the program exits.

This behaviour can be changed with `updates.check` flag in the config file. `ignore` and `warn` values are supported. 

Please also note the [related issue](https://github.com/jbenet/go-ipfs/issues/30).
to speedup commands for users, we could limit update checks to once per day (store the last time checked in the config or something). Otherwise ipfs will feel slow, having to wait for a full HTTP RTT