rewrote PGPKey.parse; some other API changes; some cleanups; and a Python 2.x compatibility fix