Add KeyType model for use with SAML KeyDescriptor
EncryptionType model for use with KeyDescriptor

Per SAML 2 Metadata specification use of the XMLEnc EncryptionType element in KeyDescriptors is an option. This model implements the schema defined in XMLEnc
Add KeyDescriptor model

Per SAML 2 Metadata spec.
DRY factory implementations