add support for SNI

this makes urrlib3 use SNI if available
make tests pass
remove big try-except
really test if we have sni
fix typos in utils
fix type in HTTPSConnection docstring
move ssl.wrap_socket to utils
add imports for SNI handling
use SSLContext on Python >= 3.2
add actual SNI handling
Merge branch 'sni' into add_sni

Conflicts:
	urllib3/connectionpool.py
add unit test for SNI
Revert "add unit test for SNI"

This reverts commit 7f7cb5b77b77704fb3d3c232cbb8dce77c258d9a.
add offline unit test for SNI
doc: ssl.wrap_socket() -> util.ssl_wrap_socket()
if certfile != None -> if certfile

thanks @wallunit
check with SSLContext on import only

thanks @wallunit
fix check for ca_certs

thanks @wallunit
remove double check for SSLContext
New method PoolManager._new_pool for customization.