Help users when they hit api rate limit

Tell them to use GITHUB_API_TOKEN which was non-obvious to me

Also:
 - refactor out the http related code into http_get
 - introduce unit tests so fine-grained stuff like this also has tests

@patcon @rodjek