Merge pull request #250 from t-8ch/pyopenssl_handshake_loop

pyopenssl: wait for data before handshake retry
TimeoutErrors should cause retries.
Continue to return TimeoutErrors.
Faster test timeouts. Cleaner code.
Improved url parsing.
Consistency: connection -> conn
Whoops.
Factor out HTTP(S)Connection -> ConnectionCls, and cleanup.

Also removed the need to None-ify global `ssl` module in tests.
rsplit ftw.
removed deprecated BaseException
Merge pull request #255 from riyadparvez/deprecated-removal

removed deprecated BaseException
Raise EmptyPoolErrors when the pool is, uh, empty.
Remove apparently unnecessary SocketTimeout catch.
Split TimeoutError into own branch.
Handle SSL errors that might be timeouts lower.
New urllib3.connection module.
Factor out HTTP(S)Connection -> ConnectionCls, and cleanup.

Also removed the need to None-ify global `ssl` module in tests.
New urllib3.connection module.
Merge branch 'factorout-connectioncls' of github.com:shazow/urllib3 into factorout-connectioncls
Merge pull request #254 from shazow/factorout-connectioncls

Factor out HTTP(S)Connection -> ConnectionCls, and cleanup.