raise ValueErrors when supplying/not supplying tags for GCM

Check the tag attribute and raise appropriate exceptions when instantiating an encrypt/decrypt context.

This fixes #282.