Remove copyright info from top level of module.

 * Previously, it was:
       In [1]: import gnupg
       In [2]: gnupg.
       gnupg.GPG       gnupg.copyright  gnupg.logger    gnupg.util
       gnupg.copyleft  gnupg.gnupg      gnupg.parsers
   So I've started cleaning up the API so the only thing visible on module import
   is the class you probably need: gnupg.GPG .
Don't point users to github, where possible.

 * Github has these rather nasty tracking mechanisms through pixel cookies, as
   well as hardware fingerprinting (potentially deanonymising) through HTML5
   canvases.
 * I suck at configuring gitweb + lighttpd. I cannot get pretty URLs for the
   repos, but it's still better than the pixel cookies. If anyone can point me
   at something for fixing this, much obliged. I wasn't sure if I should point
   explicitly to a LEAP server.
Fix parsers._check_preferences function to use set theoretic intersection.

 * It benchmarks super fast. And I get to use set theory.
Add docstring for parsers._check_preferences.
Locally scoped ivars in _check_preferences don't need private namespace.
Reorder frozenset of allowed options so that it's easier to read.
We don't need module strings with a flat directory structure.
Remove relative imports of every class in parsers.py, they crowd the namespace.
Significantly improve logging facilities for faster debugging.

 * Include _ansistrm.py, which was released under new BSD license separately in
   a github gist as well as in the Python logutils module. Instead of setting
   up a src/includes/ directory, I have included this file in the currently
   flat module directory, because dealing with submodule imports in Python2.x
   is a pain. I'm not sure if this will cause problems for Debian packaging,
   but it could be changed later if so. The full text of the original license
   and copyright has been retained at the head of _ansistrm.py, clearly
   demarcated from python-gnupg's license and copyright info. The author of
   _ansistrm.py is the same as the current upstream maintainer for
   python-gnupg, Vinay Sajip, and I don't see why this person doesn't include
   _ansistrm.py in all of their packages, because it is making skimming the
   test logs for errors much faster.

 * Add _logger.py, which contains a class decorator:

       @wraps(logging.Logger)
       def create_logger(level=logging.NOTSET)
       [...]

   which autoconfigures logging functionality. By default, logging.NullHandler
   is still used, so there are no logs (neither logfiles nor piped to
   stdout). If _logger.create_logger() is called with either a LEVEL attribute
   from the logging module, or the integer equivalent, it will initialise
   logging to stdout only. In the unittest suite, extra log handling
   functionality is added to also write to a datetime-stamped logfile in the
   tests/ directory.

 * Change all "logger.<level>" statements to "log.<level>" and add new ones for
   debugging and user information purposes.

 * Remove the import of the python standard utilities logging module from:
       src/gnupg.py
       src/parsers.py
       src/util.py

   and switch to setting a top-level attribute, util.log, which is the returned
   class from _logger.create_logger(). Everything else now does "from util
   import log".
Remove everything except the GPG class from src/__init__.py.
Add "del gnupg" in src/__init__.py to get rid of gnupg.gnupg in API.
Remove script headers from src/util.py.
Fix module docstring typo in src/util.py.
Fix $PWD discovery to reflect the prior change to use src/ instead of gnupg/.
Rename util._create_homedir() to more general util._create_if_necessary().
Update util._create_if_necessary() docstring.
Fix encoding string.
Remove unnecessary module.__name__.
Remove unused ctypes import.
Import _ansiterm without using module namespace.