Split the crypto module out into two backends.

- One for X.509
- One for GnuPG (as yet unimplemented)
Merge pull request #135 from fedora-infra/feature/crypto-plugin

Split the crypto module out into two backends.