Supporting AEAD (AES 128 GCM).

This is an initial implementation of TLS 1.2's AEAD. Currently, only AES 128 GCM is supported. Inter-operability has been tested both with OpenSSL and Chrome Nightly.

I need to discuss the code of "FIXME" with @vincenthz. Since the current code does not store fixed_iv_length and record_iv_length separately, I had to hard-code the parameters: https://github.com/kazu-yamamoto/hs-tls/blob/aead/core/Network/TLS/Record/Disengage.hs#L119

Please review the patch and give me comments.