Add OCB mode, currently encrypt only, and an AEAD interface
OCB decryption
Make parallel processing possible by buffering more than one block
and handling possible extra full blocks in end_msg

Add a constant OCB_Mode::BS == 16 for readability.
Move std::vector operator^= to xor_buf

Some prep work for parallel encrypt
Make OCB_Base constructor private
In OCB encrypt, XOR multiple plaintext blocks and fold at the end
Add algorithm_kat_detailed which returns a string with info about the failure
propagate from branch 'net.randombit.botan' (head 039c91aa543bad85f227e8127ed048f9005e2fa0)
            to branch 'net.randombit.botan.aead-modes' (head 97d8d24b545f18084e39bf928c174c45efbb63bd)
OCB encryption can encrypt blocks in parallel now
Avoid really needless allocations
Parallel OCB decryption
Save most of the block cipher calls used when setting the nonce in OCB
by avoiding recomputing stretch if the previous value works.  This
greatly reduces the cost of using OCB when only the lowest bits of the
nonce value are changing (as when using a counter).
Convert EAX to using Buffered_Filter and new AEAD interface
Relnote adding OCB