gcm doc fixes (per review from alex)
rename add_data to authenticate_additional_data for clarity (hopefully)
simplify code for wrapping ciphercontext/aeadciphercontext
raise TypeError if you attempt to get the tag attribute on a decrypt

* To support this the _AEADCipherContext in base.py now needs to be
  aware of whether it is encrypting/decrypting