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've considered that, but we can't do that.

Consider both "go1" and "master" are present. "go1" should take precedence. But suppose there's pagination and the first page of results contains only "master" branch. So if you don't do the fallback query, you'll incorrectly choose "master".

Okay, it's possible to do some optimization, like if both "go1" and "master" are found in first page, then no need to fallback. And if one is present, only need to fallback to the other potentially missing ref instead of both.

But given how much code that would add, it feels like completely premature optimization. More so because the entire algorithm IMO is not great and hopefully temporary until we can do something better. But until GitHub has a way to search for *both* branches and tags in one query, I don't see anything better...