Renamed PrimitiveCodecSource to DocumentCodecSource
Created BsonTypeClassMap class that encapsulated the default mapping from a BSON type to a Class to decode it to.
Implemented equals and hashCode for new BSON value types.
Tightening up document codec
Test specification for DocumentCodec
Renamed PrimitiveCodecSource to DBObjectCodecSource
Checkstyle and codenarc