Fixed branch coverage
Merge pull request #275 from alex/branch-coverage

Fixed branch coverage
GCM support
fix buffer size bug for gcm tag fetch
gcm doc fixes
add tag as abstractproperty for modewithaad
rename NotFinalized exception to NotYetFinalized because alex is right

...it does read better that way
_AEADCipherContext refactor

* No longer extends _CipherContext
* Remove _tag from _CipherContext
* This change duplicates a small amount of code from _CipherContext
gcm doc improvements
enforce AEAD add_data before update
invalidtag exception for gcm

This exception is probably not safe. It depends on the assumption that
if ERR_get_error returns a 0 then it is an AEAD tag error.