If given an absolute path, use it
Allow GnuPG flags for anonymising keyids of encrypted messages.

 * ADD `--hidden-encrypt-to` and `--hidden-recipient` options to
   `hex_options` in gnupg._parsers._get_options_group().
 * ADD `--throw-keyids` option to `none_options` in
   gnupg._parsers._get_options_group().
 * FIXES issue #30:
   https://github.com/isislovecruft/python-gnupg/issues/30
 * NEEDS unittests still.
Merge branch 'master' of github.com:isislovecruft/python-gnupg
Merge branch 'master' into develop
Fix verify_file() to really treat signed data as file descriptor.
fix truth evaluation of import results

for some reason, the count was accessed as if it was a Storage
instance, and it's not, it behaves as a dictionnary

includes test case that will fail with the original code
expand ~ in homedir
Merge remote-tracking branch 'drebs/bug/6025_verify-file-is-inconsistent' into develop
Merge remote-tracking branch 'kalikaneko/feature/expand-homedir' into develop
Merge remote-tracking branch 'anarcat/dev/monkeysign' into develop
Merge remote-tracking branch 'akerl/master' into develop
GnuPG's `--debug-level` ints are only required to be ≥ 1.

They aren't required to be ≤ 9, as the previous check in
`gnupg._meta.GPGBase._make_args()` ensured. That is, calling GnuPG from
the commandline, doing:

  $ gpg --debug-level=100000 …

is valid, so we should also accept 10000 (even though everything > 8
means the same debug level anyway).
Despite what GnuPG says it expects, it actually expects `--debug-level=`.

 * FIXES Issue #44:
   https://github.com/isislovecruft/python-gnupg/issues/44
Fix bug in determining behaviours for those using GnuPG2 binaries.

This bug caused some extra behaviours which should only be invoked if
the user is using a gpg2 binary. It was caused by checking:

    if _util._is_gpg2:

which is always true, since `_util._is_gpg2` is a function which isn't
being called in this case, i.e.:

    >>> def foo(): return False
    >>> bool(foo)
    True

So instead this should be changed to actually call `_util._is_gpg2()`,
by using `gnupg.GPG.is_gpg2()` which will automatically pass in the
detected binary version number.
Merge branch 'fix/44-verbose-arg' into develop
Make GnuPG>2.0.x only methods always public.

They are only effective if the binary is GnuPG>=2.0.x anyway, and the
extra code to change the method names depending on the underlying
binary will cause clutter for anyone using python-gnupg.

This change is backwards compatible with python-gnupg<=1.3.1, since the
private methods (e.g. `gnupg.GPG._create_trusttb`) are kept intact.
Only compile the version string regex once on module import.

 * MOVE the compiled regex for matching the GnuPG binary's version to a
   module-level variable in `gnupg._util`.
Move logic for sanity check and getting binary version to new method.

 * CHANGE behaviour so that `gnupg.GPG.binary_version` is set in
   `gnupg._meta.GPGBase.__init__()`, instead of `gnupg.GPG.__init__()`.

 * ADD new `gnupg._meta.GPGBase._check_sane_and_get_gpg_version()`
   method, and move logic for doing a sanity check on the binary and
   getting the binary's version, which was previously in
   `gnupg.GPG.__init__()`, into this new method.

 * ADD an additional field for the `binary_version` to the logger call
   which displays initialisation settings when `gnupg.GPG.__init__()`
   is run.
Cleanup logic for helping users who set a weird `verbose=` level.

 * ADD new `gnupg._meta.GPGBase._set_verbose()` method, which will set
   `'basic'` as the default `--debug-level` for GnuPG, if the user did
   something weird like specifying `verbose=True` or typoing one of the
   string levels (e.g. `verbose='guruu'`).
Only use `--debug-level=` syntax if GnuPG<=1.4.18.

 * FIXES Issue #44 (again):
   https://github.com/isislovecruft/python-gnupg/issues/44#issuecomment-56907151