Add AEAD cipher modes

Add Authenticated Encryption with Additional Data (AEAD) modes for
ciphers which obviates the need for a separate HMAC step. The MAC is
integrated into the cipher and the MAC tag is prepended to the payload
just as it is done with a separate MAC step.