* openpgp/add.go, openpgp/db.go, openpgp/io.go, openpgp/io_test.go,
  openpgp/pubkey.go, openpgp/resolve.go, openpgp/resolve_test.go,
  openpgp/responses.go, openpgp/schema.go, openpgp/signature.go,
  openpgp/subkey.go, openpgp/types.go, openpgp/userattribute.go,
  openpgp/userid.go, openpgp/util_test.go, openpgp/validate.go,
  openpgp/validate_test.go, openpgp/worker.go, openpgp/worker_test.go:
  - Split pgp type wrappers into separate files.
  - Refactor & rethink validation. Require a valid self-signature in order
    to accept key material, but store expired, revoked material.
  - Select primary UID based on earliest non-expired with flag.
    LP: #1195901
  - Updated to use UserAttribute, V3 packet support and other recent
    enhancements to go.crypto. LP: #1075382, LP: #1044769
  - Separate SQL for creating and dropping constraints to support bulk
    loading. LP: #1208295
  - Define key material states to address spam and support other features.
    LP: #1210923, LP: #1074224