Fix issue #12: support non-standard DN attributes.

Refactor AttributeType as an interface and provide an enum for standard
attributes as well as a concrete class for "unknown" attributes that uses
the OID for the type and name. Leverage type for proper encoding in
LdapNameFormatter since we can now accommodate OIDs in DN formatting.