Replace MongoClient with an implementation that relies on Cluster and Server. The new MongoClient takes over MongoReplicaSetClient's responsibilities.
Authentication, secondary-pinning, and Mongos high-availability are broken and will be reimplemented in a future commit. RS tests are temporarily disabled.
Note that this is changing the exception hierarchy somewhat as well,
as I would rather not muck things up with multiple inheritance. This
is a breaking change if you depend on ConnectionFailure being an
IOError or InvalidBSON being a ValueError, for example. If this
creates issues for anybody please let us know and we can figure out a
better workaround.
Also add Michael to contributors list.