GPG-encrypted XML field

This creates a GPG field type and sets the xml field on donations to it. The field is backed by a binary blob in the DB, converted back into a string when needed.

GPG requires a home directory configured; if one is not, GPG will not be enabled, and all operations will operate on plain text. When migrating, you will receive a warning about this.

Individual fields can be configured with a specific recipient's key in mind, allowing different fields to be decrypted by different keys. In practice, the server with access to pay.gov will have a private key, whose corresponding public key is available to all of the other web servers.