Clarify message about incorrect length in the counter block.

When the counter function returns an incorrect counter block to
the cipher in CTR mode, the error message includes both the required and
the provided amount of data (in bytes).
Added support for CCM mode (AES cipher only)
Added CCM tests

Added vectors from NIST SP 800-38C and tests to verify lengths of IV and
MAC tag are checked correctly.
Added CCM test vectors from RFC 3610
Added speed test for CCM