Simplify code

Need to split up fields to:
  - DigestField
  - HMACField
  - PGPPublicKeyField
  - PGPSymmetricKeyField
I *think* that will lead to an infinite recursion.