Clean rebased version of https-proxy

This is a cleaned up version of #139 rebased against current master.

Current todo:

**All discussions in the diff**
- [x] proxy* private: https://github.com/shazow/urllib3/pull/170#discussion-diff-4087371
- [x] ProxyManager API https://github.com/shazow/urllib3/pull/170#discussion-diff-4087377
- [x] PoolManager attributes: https://github.com/shazow/urllib3/pull/170#discussion-diff-4087384
- [x] extract connection related stuff: https://github.com/shazow/urllib3/pull/170#discussion-diff-4087386
- [x] PEP8: https://github.com/shazow/urllib3/pull/170#discussion-diff-4087390
- [ ] comment: https://github.com/shazow/urllib3/pull/170#pullrequestreviewcomment-5512536
- [ ] style: https://github.com/shazow/urllib3/pull/170#pullrequestreviewcomment-5512583

**Other**
- [x] #139 Bug if SSL is not available.
- [x] #170 TODO comments. I think only cleaning them up is relevant here, proxy auth can be addressed separately. The best would be to create an issue for it so it won't be forgotten :)
- [x] #170 Failing tests on Windows.
- [x] https://github.com/shazow/urllib3/pull/170#issuecomment-21345677 Address in use on Travis