GCM and CTR mode with 96 bit nonce

This reduces the nonce length to 96 bit as it is recommended for GCM. With test vectors from NIST and IETF our implementation is shown to be correct.
This closes #138.
I don't like a minus operation when accessing an array field without a prior check, because if SYMM_IV_SIZE_BIT == SYMM_NONCE_SIZE_BIT, this will try to access array field [-1] which would result in a crash.