Add support for connect_timeout

The `requests` package ships with a copy of `urllib3`. There is a recent pull request in the `urllib3` repo adding support for connection timeout. Here I added those changes to the `urllib3` within `requests`, as well as a few necessary changes to `requests` itself.

<pre>
import requests
s = requests.Session(connect_timeout=0.5)
r = r.get("http://www.example.com")
</pre>