Add sharing of MongoClients across rivers since MongoClient is resource intensive to create and there's meant to be only one when possible

Add options for controlling the number of connections

The options 'connections_per_host' (default 100) and 'threads_allowed_to_block_for_connection_multiplier' (default 5)
can be used to control how many connections are used at most for a single river.

The defaults are based on the values in MongoClientOptions.Builder for the 2.12.4 mongo-java-driver.