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.

These bugs are ridiculous so there are comments added to try to help us avoid confusion in the future...

Fixes #1329
We certainly could do that. They should succeed on all backends and it might uncover future backends that have similar issues? I'll move them to be run for all backends.