Allow POST method in conjunction with backoff

Currently you can't use exponential backoff or caching with POST requests.

This pull request only fixes the first of these; caching is somewhat harder (see allow_post_requests)

You can now specify `method="POST"` in the various downloader functions.