Add better unittests for gnupg.GPG.gen_key() and gen_key_input().

 * Add unittest suite for genkey tests.
Split key material related unittests into separate test suites by functionality.
Add missing option `--batch` to _allowed options set.

 * Rearranged the other options because their order was nolens volens.
Fix typos, remove extra whitespace line.
Add the missing crunchbang in test_gnupg.py.
Patch Python2.6 and earlier to use future-patched unittest module.
Keep module metadata in one place.
Update unittest temporary file directory location and gnupghome.
Also get the logger from gnupg so that we can debug events in unittests.
Pep8 the docstrings.
Cleanup assertion statement.
Don't hardcode paths.
Add implementation note on test_copy_data().
Remove unused function expire_today().
Pep8ify some more docstrings.
Add assertions to check that key have been created in test_gen_key_*().
Update test assertions for key generation and batch parameters after import.

 * In unittest test_key_generation_import_list_with_colons().
Revise logger and suite ordering, and override parts of unittest module.

 * Rearrange sets of testsuites to provide logical execution order.
 * Remove unused suite() function.
 * Create dynamic module loader through a unittest.TestProgram.createTest
   override to take an instance of unittest.TestLoader which is created later.
Add unittest cmdline argparse to hook into unittest.TestProgram's parser.
Add '--secret-keyring' as an allowed option.