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).
maybe these values (`"error"`, `"ignore"`, etc) should be constants in the update package:

```Go
const  CheckError = "error"
const  CheckIgnore = "ignore"
...
```