Add protection for rate limiting on github.

Sometimes Github decides we are doing that too much. Add error handling for that scenario by checking the rate limit header Github publishes.

NB: The default limit is 60 requests per hour per IP for unauthenticated requests. The limit is 5000 per hour per IP for basic auth or OAuth authenticated requests.