Fix default GPGHOMEDIR setting in libgpgme context.

GPGME was using the process owner's default GPGHOMEDIR directory,
regardless of any keyfiles specified, meaning that if there were any
other non-signing enabled secret keys in the keyrings, and one of the
other keys was first on the secret keyring, that first key would be used
for signing rather than the secret key in the specified keyfile.

 * FIX problem detailed in comment 11 on #5463:
   https://trac.torproject.org/projects/tor/ticket/5463#comment:11
Fix 'invalid secret key' libgpgme error for testing keys.

We can't use expired keypairs, and the old testing keypair had it's master
secret key destroyed, so I created a new testing keypair.

 * CHANGE gnupghome/TESTING.subkeys.sec to a non-expired keypair:

   pub   4096R/3F148C21 2014-04-23
   uid                  TESTING (INSECURE!) <bridges@torproject.org>
   sub   4096R/C9CB1DCD 2014-04-23
   sub   4096R/79DEF4D1 2014-04-23

   sec#  4096R/3F148C21 2014-04-23
   uid                  TESTING (INSECURE!) <bridges@torproject.org>
   ssb   4096R/C9CB1DCD 2014-04-23
   ssb   4096R/79DEF4D1 2014-04-23
Add unittest for hotfix/11522 in commit fafbdc77a.
Fix skipped unittest test_crypto.test_getGPGContext_good_keyfile().
Add additional unittests for crypto.LessCrypticGPGMEError.
Add GPGContextTests to test/test_crypto.py.

 * ADD two new unittests: one for missing config settings pertaining to
   email signing, the other for when signing is disabled.
Add unittest for email signing with expired testing keys.
Merge branch 'fix/5463-gpgme-homedir' into develop