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.
Ahh okay, so do you have a better idea than checking if length > 0?