Makes driver ~2x faster for simple benchmarks.
DEPRECATED pool_size, auto_start_request and timeout parameters to Connection
DEPRECATED Connection.start_request
Each thread now gets it's own socket reserved on it's first operation. Those
sockets are held until Connection.end_request is called by that thread, or
Connection.disconnect is called by any thread, or the thread dies.
Calling Connection.end_request allows the socket to be returned to the pool,
and to be used by other threads instead of creating a new socket. Judicious use
of this method is important for applications with many threads or with long
running threads that make few calls to PyMongo operations.