use tunnel.sock instead of resp.fp in SSLTunnelConnection

resp.fp is a socket._fileobject instead of a socket.socket object,
so it is incompatible with gevent.
Fix issue #163
add test for SSLTunnelConnection
Merge pull request #157 from Infinidat/pull_request_2

Fix SSL tunnel socket
fix httplib NameError
add test
Merge pull request #156 from Infinidat/pull_request_1

fix httplib NameError
white space consistency

tab length is 3 spaces, except for the code in ReadDocument
Merge pull request #167 from Infinidat/pull_request_5

white space consistency
Use urn map for attribute resolution from top-level names

pyvmomi objects can be resolved by the wmodl name, e.g. "vim.vm.RelocateSpec" or by the
wsdl name using e.g. "vim.VirtualMachineRelocateSpec". The latter uses hard-coded code
instead of dynamic code, which makes it hard to add more top-level names like "sms" for
the Storage Monitoring Services.
Add SoapAdapter request context per instance.

SoapStubAdapter supports adding soap headers using GetRequestContext, but
the request context is thread-local. Adding support for a per-instance request context.
This is needed e.g. for vSphere SMS API, where only the SMS SoapAdapter needs
the additional headers.