Implemented TLS negotiation for client and server.
TODO(TLS): Ask for a tls.Config at some point in Stream API
TODO(Maintenance): Clean and Update API and code (package crypto/tls provides some good patterns, probably implement a StreamState and also consider a Config)