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

it should just set a `tarball: url` and then that is what npmd-cache will download.