Add exponential backoff retry logic into http requests

This pull request is for adding retry logic into the http requests. This allows for making http requests to be more robust and in line with other libraries like boto.

There is another attempt at refactoring in https://github.com/NewDreamNetwork/python-cloudfiles/tree/refactor/big_change, but there's no real way to make that pull request, too, while this one exists.