Workaround Xamarin compiler errors by adding explicit type parameters
added find and modify support.

Conflicts:
	src/MongoDB.Driver/MongoCollectionImpl.cs
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.
Fix a few functional tests issues against server 2.4.
added support for explain.

Conflicts:
	src/MongoDB.Driver.Core/Core/Operations/FindOperation.cs
count explain doesn't work until server 2.7.6, so requiring that as a minimum version for the test.
added support for translating auth from connection strings and MongoCredential into IAuthenticators.
Merge branch 'auth'
added GSSAPI into core and refactored all core passwords to use SecureString.
CR Changes
CR Changes
Move the link to Hasher.cs from Misc to Core\Misc so Visual Studio doesn't create an empty Misc directory every time you build.
CSHARP-875: Remove NotImplementedExceptions from legacy API, either by implementing or removing the method.
CSHARP-1074: Reimplement MongoCollection Count using Core operation.