Merge branch 'master' into develop
Make default gen_key_input() Key-Type conditional on GnuPG version.

 * ADD functions _util._match_version_string(), _util._is_gpg2(), and
   _util._is_gpg1() for determining whether to set the default Key-Type to
   'default' (for GnuPG v2.x) or to 'RSA' (for GnuPG v1.x).
 * ADD class attribute GPG.binary_version, which stores the GnuPG executable's
   version string, which should be in the form x.x.x, where 'x' is an integer.
If using GnuPG v1.x, use {'Key-Type': 'RSA'} in GPG.gen_key_input().

 * CHANGE default key type to RSA for older GnuPG versions, since they seems
   to not understand using a 'default' key type.
 * UPDATE docstring for GPG.gen_key_input().
Simple indentation error fix
File and IO handling in Py3 is different than Py2

Instead of checking whether data isinstance of 'file', then we check that
it is file-like _enough_ to be treated as a file (i.e. it hasattr 'read').
Update TODO file with tasks done and further work needed.
Grammar fix, repeated word in test description
test_gpg_binary_version_str failed for non-English

This patch sets the environment variable LANGUGE to 'en', meaning English translation is used for outputs. The string comparisons in test_gpg_binary_version_str failed otherwise when using a non-English locale. Another choice may be to set LANG=C to avoid locales all-in-all.
stdout.read() wants bytes, which failed on Py3 str

I don't know how far back the b"byte string" syntax is compatible with this change in Python 2.x, but in 2.7.3 it works as it should.
Merge branch 'fix/5-genkeyinput-default-type' into develop

 * FIXES issues #5 and #11
   https://github.com/isislovecruft/python-gnupg/issues/5
   https://github.com/isislovecruft/python-gnupg/issues/11
 * ADD checks for and attribute GPG.binary_version
 * CHANGE to generating RSA keys for GnuPG 1.x, and 'default' keys for GnuPG
   2.x, because GnuPG 1.x doesn't understand the 'Key-Type: default' batch
   file directive.
Merge remote-tracking branch 'mmn/simple_indentation_error' into develop

 * ADD patch by Mikael Nordfeldth.
 * FIXES wrong identation level on a unittest docstring.
 * CLOSES issue #11.
Merge remote-tracking branch 'mmn/file_and_io_handling_diff' into develop

 * ADD patch by Mikael Nordfeldth to file python3 syntax compatibility due to
   the 'file' builtin being removed.
       isinstance(foo, file) → hasattr(foo, 'read'), or,
       file = _io._IOBase
 * CLOSES issue #13.
   https://github.com/isislovecruft/python-gnupg/pull/13
Merge remote-tracking branch 'mmn/fixes_for_test_gpg_binary_version_str' into develop

 * ADD patches from Mikael Nordfeldth.
 * FIXES #14 issues with strcmp in unittests looking for string literals when
   Python3 expects byte strings.
 * TODO: perhaps there should be a generalized function in
   gnupg/test/test_gnupg.py which automatically translates Python2 strings to
   b'' strings.
 * CLOSES issue #14.
Add py3k targets to Makefile: 'test', 'install', 'uninstall', 'reinstall'.
Remove __package__ setting and import code in test_gnupg.py.

 * FIXES bug which caused py3k tests to fail to run.
Fix unittest run failure if pip<1.3.1.

 * CHANGE Makefile test-before target to optionally include version and
   installed package information on gnupg2, pinentry, gpg-agent, and pip.
 * FIXES issue #15:
   https://github.com/isislovecruft/python-gnupg/issues/15
 * CLOSES issue #15.
Merge branch 'release/1.2.2'