Fix InsertOpcodeOperation to correctly handle single batch inserts.
Add some InvalidOperationExceptions to BatchableSource.
Don't throw in BatchableSource HasMore property.
UpdateMessageBinaryEncoder needs to use the UpdateValidator from the UpdateMessage.
implemented AggregateOperation and AggregateToCollectionOperation and tests.
removed TDocument from the find and aggregate models and added a configurable TResult serializer.
CR Changes.
added support for explain.

Conflicts:
	src/MongoDB.Driver.Core/Core/Operations/FindOperation.cs