Cache constructor arguments for use with multiple hosts

With multiple hosts, MongoClient creates a subordinate MongoClient
object for each host.  The existing code only used a subset of
arguments, which can cause connection problems (like omitteing 'ssl').

This commit caches the full set of constructor arguments and uses them
all (suitably overridden) when creating subordinate server connections.
Merge pull request #82 from dagolden/topic/fix-get-master-with-auth-and-ssl

Cache constructor arguments for use with multiple hosts