Adds support for `requests`.

Requests wasn't working because it uses urllib3, which uses a custom version of HTTPConnection. I introduced support by mocking and patching this class. Also added tweaks to maintain compatibility with some weird things urllib3 does.

Closes issue #7.
If we don't have requests installed won't this import fail because the class hasn't been defined in `http_connection.py`?