JAVA-1405: Made RawBsonDocument a subclass of BsonDocument
JAVA-1405: Made BsonDocument equals, hashCode, and toString work properly with BsonDocumentWrapper and RawBsonDocument subclasses
JAVA-1405: Update BsonValue-related Codec and CodecProvider implementation to work properly with BsonDocument subclasses (BsonDocumentWrapper and RawBsonDocument)
JAVA-1406: fix jsWithScope in JSONReader
Added MongoTailableCursor Interface

Synchronous QueryOperation operations now return a tailable cursor
Use SecureRandom for SCRAM-SHA1

JAVA-1424
Removed unused package-private method in Mongo class
Removed unused query encoder from UpdateCommandProtocol constructor
WIP: New CRUD API
JAVA-1215: WIP
JAVA-1215: Renamed QueryFlag to CursorFlag.  Added it to FindModel
JAVA-1215: WIP for QueryOperation
JAVA-1215: Starting on generic models with FindModel<T>
JAVA-1215: Generified all the models
JAVA-1215: Added findAndModify-related models and methods
JAVA-1215: Removing Find from QueryOperation
JAVA-1215: Updated FindModel and QueryOperation to use primitive number types, to avoid rampant NPE possibilities
JAVA-1215: Replaced use of Find in DBCursor with FindModel
JAVA-1215: Defined properties on CountOperation in preference to passing in instance of Find
JAVA-1215: Added generic method type