Use python-requests instead of urllib/urllib2/httplib wherever possible.

For much simpler/cleaner code.

I've signed the CLA, though I'm not exactly sure why it's necessary. This pull request contains vendored code authored by @kennethreitz and others, which is already Apache licensed, but they probably haven't signed the CLA (nor should they have to)

cf http://docs.python-requests.org/en/latest/