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.
Necessary imports will fail when requests is unavailable.