process: abstract out HandleToStream

Originally contributed by @tjfontaine, but modified to be faster and
more generic.
stream_wrap: introduce StreamWrapCallbacks

StreamWrapCallbacks is a helper class for incepting into uv_stream_t*
management process.
tls_wrap: embed TLS encryption into streamwrap
tls: introduce TLSSocket based on tls_wrap binding

Split `tls.js` into `_tls_legacy.js`, containing legacy
`createSecurePair` API, and `_tls_wrap.js` containing new code based on
`tls_wrap` binding.

Remove tests that are no longer useful/valid.
tls: share socket._hadError with http_client