Add bytesWritten proxy property to CryptoStream

This adds a bytesWritten proxy to CryptoStream that returns the bytesWritten
from the underlying socket, including the TLS overhead.  This should make
the connection objects in http and https requests more of a work-alike.

See #4650 for discussion.