Factor out time doubling retry logic into a single function, keep_trying()

See the docstring of keep_trying() for more information.  The basic idea is
that the function tries something, and if one of the given exceptions is
raised, it prints an error message, sleeps, and then tries again.  The time
slept doubles with each failure, in order to prevent DoS.  It also supports
doing additional error handling when the error is caught.

I also changed instances of catching HTTPError to just URLError, since the
former is a subclass of the latter.
Use keep_trying() in github_get_pull_request_all()

This function will fail if you go over your API quota, which is quite likely
given the current situation (see #147).
Add note about the time doubling scheme
Fix SyntaxError
Fix logic for when the reviews site is down
Merge branch 'master' into keep_trying
Merge pull request #150 from asmeurer/keep_trying

Factor out time doubling retry logic into a single function, keep_trying()