Renamed InputBuffer to BsonInputStream and BasicInputBuffer to ByteBufferBsonInputStream
Removed methods in BsonInputStream that are just as easily implemented directly in BsonBinaryReader
Replace BsonInputStream method that reads a byte array by creating a new one and returning it with ones that take the byte array as a parameter.
Added BsonInputStream methods: mark, reset, and hasRemaining.  Mark and reset are not currently needed but will be useful to have in the interface when we add a POJO codec that needs to rewind the stream once it learns what the discriminator is.  hasRemaining will be useful when we add an implementation that wraps a java.io.InputStream and clients need to know if all the documents have been read off the stream.
Added test specification for ByteBufferInputStream
Created BsonOutputStream interface that is implemented by OutputBuffer, and replaced references to OutputBuffer with BsonOutputStream where an OutputBuffer is not needed.
Renamed BsonInputStream to BsonInput and ByteBufferBsonInputStream to ByteBufferBsonInput
Renamed BsonOutputStream to BsonOutput and ByteBufferOutputBuffer to ByteBufferBsonOutput
Added unit tests for BasicOutputBuffer and ByteBufferBsonOutput, and removed other tests that are now duplicated by the new ones.
Deleted unused class and its test
Added missing Javadoc for com.mongodb.operation and com.mongodb.protocol
Added missing Javadoc for com.mongodb.protocol.message
Replace <p/> with <p> in a Javadoc comment
Renamed Remove to Delete in RemoveOperation, RemoveRequest, FindAndRemoveOperation
Changed UpdateRequest to handle both updates with update operations and full replacement updates

JAVA-1404
UpdateOperation and MixedBulkWriteOperation now handle all updates of type REPLACE.
Removed ReplaceOperation, ReplaceProtocol, ReplaceCommandMessage, ReplaceMessage

JAVA-1404
Leftover cleanup for messages from back when documents could be specified with a generic type instead of just BsonDocument
Added 16MB limit check test to UpdateOperationSpecification
Fixed Javadoc that fails with Java 8's Javadoc compiler
[JAVA-1410] Documenting org.bson.BSON; refactoring BSONOldTest so that encoding and decoding hooks are more clearly tested/documented; made StringRangeSet package protected, moved it into the package that needs it, and massively simplified it; added a test for ClassMap to clearly document its functionality.