Add CMAC and EAX mode

NOTE: This branch is built on top of two other previous branches: **improved_hmac_api** (with the new .verify() method for MACs) and **ccm** (with the new AEAD API). Each one has its own pull request open.

This change set adds support for:
* CMAC (RFC4493 or NIST 800-38B)
* EAX AEAD mode (not officially standardized, but simpler and more flexible than CCM)

Both come with test vectors.