Introduce PgpKeyProvider interface

ProviderHelper should implement the interface.
Classes in the pgp package should only have to know about the
PgpKeyProvider interface, which provides a very basic set of key
retrieval functions based on key IDs alone.
Add some key helper functions

In order to get master key and main user id without using the database
we need them as helper functions.
Make PgpDecryptVerify use PgpKeyProvider
Make PgpSignEncrypt use PgpKeyProvider