Fix getGitHubDir failing sometimes because it didn't respect GitHub API pagination.

Fixes #174.

- If the response contains a Link header, then fallback to requesting "refs/heads/master" and "refs/tags/go1" by name.
- Add hasLinkHeader return value to getJSON(), returns true if `Link` header was present.

Note that it currently assumes "master" has to be a branch, and "go1" has to be a tag. I don't know what's the best thing to do (and what if "master" is both a branch _and_ a tag, for example?). Please see discussion [here](https://github.com/golang/gddo/issues/174#issuecomment-47871865).
I'm not a super-git-expert, but I *think* that's fine.

Do we still need to call this if we found master or visa-versa (check go1 first)?