(Only for discussion) +str #15402 SSL support for streams (working for happy case)

This is only mean for discussing naming and getting some feedback on the code so far
btw, feel free to factor out common combinations, for example 

    val canDecrypt = (encryptionInputAvailable && outboundCipherTextOutput.NeedsDemand)

That can help with readabililty, and avoids the creation of the composite TransferState all the time (they are stateless, so free to share)