Add Requests
Add get_last_github_commit()
Add check_up_to_date()
Emit a warning if we are not up to date
Add FileCache class
Add GITHUB_CACHE_FILE module-level variable
Add github_cache() decorator
Decorate get_last_github_commit() with @github_cache
Add 'timeout' keyword argument to get_last_github_commit()
Add 'timeout' keyword argument to check_up_to_date()
Add API_QUERY_TIMEOUT module-level variable
Do nothing if check_up_to_date() raises requests.exceptions.Timeout
Let the user know when there is a new version available

Prevent our users from inadvertently using an outdated version of our
code by letting them know when new commits are pushed to the GitHub
repository. Use a cache file in order not to make too many impolite
and unnecessary requests to the GitHub API, so that at most we query
the server once per hour.

This merges branch 'warn-outdated-version'