add the ability to choose arbitrary cipher in the client hello.

it's useful for debugging some issue with un-implemented cipher.
add EnumSafe{8,16} for specific sized Enum instance that are safer
export signatureAndHash parser/encoder
add a "known" list of extensions
add signature algorithms extension
add support for SignatureAlgorithms extension
add signatureAlgExtension
add heartbeat extension
add support for EC curves and point format extensions
add empty SessionTicket extension
add commented extensions