PYTHON-525 Server selection implemented within ReadPreference classes.
Missing import.
Undeprecate MongoClient.set_cursor_manager.
PYTHON-525 Add method Cluster.select_server().

In addition to plural select_servers().
PYTHON-525 Move SERVER_TYPE to its own file.
PYTHON-525 Cluster improvements.

* open() is idempotent.
* Open on demand.
* Implement reset().
* Obey PoolOptions.
* Obey ClusterSettings.server_wait_time.
* Bugfix for server_wait_time=0.
* Raise AutoReconnect, not ConnectionFailure.
PYTHON-525 Reimplement MongoClient to use Cluster.

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.
Skip kill_cursors tests for mongos before 2.4.7.