Added support for building a PrimitiveCodecs with a decoder that has no encoder.  Necessary for being able to decode a bson type to a different class that it's encoded from.
DBCollection now modifies the default PrimitiveCodecs to decode a generic binary to a byte array instead of to a Binary