Support for fully transparent proxying including man-in-the-middle on TLS connections

Clients do need to send the SNI value in the TLS ClientHello which most modern clients do these days
You should dial with `proxy.connectDial`.

I'm not sure if we should make connectDial public or not. At any rate, in the mean time you can define a `connectDial` local function.