add support for SNI

this makes urrlib3 use SNI if available
make tests pass
remove big try-except
really test if we have sni
Merge branch 'sni' into add_sni

Conflicts:
	urllib3/connectionpool.py
add unit test for SNI
Added v1.5 to changes.
Typo.
Revert "add unit test for SNI"

This reverts commit 7f7cb5b77b77704fb3d3c232cbb8dce77c258d9a.
add offline unit test for SNI
doc: ssl.wrap_socket() -> util.ssl_wrap_socket()
Do not raise socket.error when connection is refused by remote host.

When a new socket connection created by connection pool is refused by the remote host, handle this with the connection pool's retry mechanism, raising a MaxRetryError if the maximum number of retries is exceeded.
Fix overwritten Accept header when proxy is used

When a request specifies both an Accept header and a proxy server, the
Accept header value is overwritten.
Removed proxy-connection

-Removed Proxy-Connection from headers
-Added and updated tests
pep8 conformity
moved proxy tests to separate file

also fixed comment format for consistency
Merge pull request #93 from jiangk/master

Fix overwritten Accept header when proxy is used.
Added (No coverage) .coveragerc directive applied to is_connection_dropped (fixed #46).
Fixing coverage regex
Merge pull request #97 from jiangk/master

Fixing coverage regex