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 pulling the auth out of git it should be just be read from the config,
I think this will be more flexible incase there is a local github enterprise, or similar.
Also, we can just do the same thing in npmd-cache