protocol:

- implement Certificate Verify / Certificate Request
- add Client Certificates
- process session as they should
- put 4 bytes of time in client/server random
- implement compression
- proper separation for key exchange algorithm (hardcoded to RSA at the moment in differents place)
- implements different key exchange algorithm

tls v1.2:

- implement finish digest generation with hmac256
- implement finish digest generation with client/server negociated algorithm
- proper version dispatch in marshalling packets
- properly separate different version of the protocol
- implement AEAD

code cleanup:

- remove show derivation on internal crypto state
- opaquify differents data type through newtype

security audit:

- add more unit tests for pure parts
- match security recommendation from the RFC

misc:

- stunnel: actually make it works like stunnel instead of hardcoding the data received/sent
- investigate an iteratee/enumerator interface
- portability
- implement more ciphers
- check & optimize memory footprint
- compare & optimize performance
