Rebase experimental-pgp branch with master

Creating this PR so that #76 is cleaner.