Reset and tamper testing for AEAD ciphers

Unit tests that exercise state resets for encrypt/decrypt, init and reset operations, and for various ways of tampering with AEAD ciphertexts.
Also included a couple of minor fixes for CCM and EAX issues that were exposed by these tests.