JAVA-1249: Removed extraneous type parameter from Decoder.decode method.
JAVA-1249: Moved core BSON types and codecs into the bson module.
Changed parameter name in Encoder class from bsonWriter to writer, to match the one in Decoder
JAVA-1249: Introduces CodecRegistry interface and supporting interfaces and implementations for creating one.