GitHub URL resolver

Follow-up to <https://github.com/dominictarr/npmd-cache/pull/1>.

Resolves URLs like `github://github.com/example/foo#^1.0.0` using the GitHub API. The semantic versioning range is compared against available releases in the repository. Can read from private repositories too.

The API token is obtained from the configured Git installation. To check whether your Git installation uses a GitHub API token run:

```bash
echo 'host=github.com' | git credential fill
```

This should result in something like this:

```
host=github.com
username={token}
password=x-oauth-basic
```

Outstanding issues

* [ ] paginate over the releases, in case there's so many they don't fit in a single response
* [ ] GitHub Enterprise support
* [ ] `npmd-cache` still can't download from private repositories

Instead of setting a git url, this should be the url to the tarball as given in the release object.