Add support for checking on unused resources in the pool so it can shrink over time (to the min pool size).
This will work in conjunction with
JAVA-710: support max connection idle time and connection life time.
The connection pool will, at a configurable interval:
- prune all connections that exceed either the max idle or max life time
- ensure a minimum pool size
- min size == 0
- interval == 1 minute
The minimum size is configuration using the method com.mongodb.MongoClientOptions.Builder#minConnectionsPerHost and the minPoolSize query parameter on the Mongo URI. The interval is not currently configurable.