Fix two bugs with CommonCrypto GCM that can result in invalid output.

Bug #1: Call to AAD but no call to update. Get null tag bytes.
Bug #2: Call to update without call to AAD. Get null ciphertext bytes.

Fixes #1329
byte strings are byte strings
moved GCM tests to be run against all backends, added radar bug numbers
resolve GCM tag issue with AAD only on OpenSSL 1.0.1 in Ubuntu 12.04
Merge pull request #1330 from reaperhulk/fix-commoncrypto-gcm

Fix two bugs with CommonCrypto GCM that can result in invalid output.
Test Vector changes

Changed names of existing vectors to be more instructive about what the
key contains, and adapted tests to compensate, which pass. Added public
keys for all encryption types and two new private keys for PEM
serialization, documented in the README.txt in the same folder
Update test-vectors.rst

Updated the readme with custom vectors, although formatting errors seem to exist
Update spelling_wordlist.txt

Added some keywords for vector documentation
start and end BN_CTX so BN_CTX can track func owner of temporary BNs
put BN_CTX_end in a finally to ensure it is invoked
extraneous newline murdered
Updated spelling_wordlist.txt

Updated the spelling list to allow for RSA in the vectors README.
switch to a BN_CTX context manager.
try/finally the bn_ctx manager
Merge pull request #1341 from michael-hart/ec_vectors

Test Vector changes
small cleanup to docs
Merge pull request #1344 from reaperhulk/bn-ctx-fix

start and end BN_CTX so BN_CTX can track func owner of temporary BNs
Merge pull request #1347 from reaperhulk/doc-cleanup

small cleanup to docs
switch truncate_digest_for_ecdsa to context manager

Also adds a docstring to fix #1335
Part 1 of rebase, with corrections for pep8