tls: accept abstract transport layer stream for client sessions
Instead of a socket file descriptor, client sessions are now run on top of an abstract I/O stream. This enables e.g. TLS over TLS, which would be required for HTTPS through HTTPS proxy.
Showing with 70 additions and 43 deletions