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'd much rather see `error` second, even if it means changing more code.

Actually, it's  kind've odd returning `hasLinkHeader` here. Maybe it could be a pointer to a bool passed in like what is done with `&nodes`?

Or maybe it would be worth splitting apart the "get" part from the JSON decoder part?