Added BsonBinarySubType to bson module to replace use of constants defined in BSON.  Started using BsonType enum in bson module in preference to constants defined in BSON.  This removes the last usages of the org.mongodb.BSON class in the bson module.
Moved org.mongodb.BSON from bson to driver-compat.   Added all missing functionality from 2.x branch.
Added support for BSON encoding hooks in the DBObjectSerializer.