implement conditional requests for staying under rate limit

as described here <http://developer.github.com/v3/#conditional-requests>