Removed MongoConnection and MongoConnectionPool legacy classes.
Fixed a connection leak in Cursor.
Change command ReadPreference to Primary for commands that can't be sent to a secondary no matter what kind of server we are connected to.
Fix default messge encoder settings for binary message encoders.
Fixed a few more failing tests.
Only override write command ReadPreference to Primary if connected to a replica set.
Added a test that the Cursor constructor calls Dispose on the connectionSource immediately if the cursorId is zero.
Code review changes.
inverted how object gets handled in RunCommandAsync.
added initial definition of IMongoCollection<T> and implementation in MongoCollectionImpl<T>. Other minor refactorings.
added count to IMongoCollection as well as tests for it and CountOperation. Refactored some of the core functional tests to not require so much boilerplate.