cleanup record layer
add a TLSSt wrapper for RNG operations
add comment, and reindent recvRecord
disable sslv2 flag when it's on, not all the time unnecessarily
move handshake stuff in Handshake layer.
correct module description
add comment for onServerHello
simplify the number of usingState call by grouping stuff.

also remove pointless and confusing processing helper
move some functions out of line of handshakeClient
move more context in processHandshake
add fmapEither for cleaning some boilerplate.

Don't use fmap directly as some older version of base has not defined
fmap for either. remove in couple of years.
remove unnecessary imports
remove Rx state from general state.

move RxState as a mutable mvar in the context directly.
move tx state into a mvar in the context.
remove assert and cleanup imports
use HandshakeState directly without grabbing the TLSState
move startHandshake in the handshake layer
repair getSessionData and move to handshake layer
push down the context to key operation
separate state from handshake state