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).
@dborzov this should probably not fail if the `-c` flag is provided to a run, which we don't know about here. I'll leave this in for now, until the `-c` flag works throughout commands. (doesn't atm i think)