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.
Spent a bunch of time trying to make this cross compatibility work, but there's lots of edge cases—namely, different libraries produce slightly different headers by default. I'm thinking it might be more correct not to offer this guarantee. In addition, most code that relies on the same service are probably not using different requests libraries.