JAVA-922: Support new commands for insert, update, and delete.  This is just some initial refactoring of the existing code.
Disabling authentication for connection factory used to call isMaster.
JAVA-763: Allow setting of existing heartbeat-related system properties via MongoClientOptions
Made exception message clearer in the case where no servers are available.
Making use of heartbeatConnectRetryFrequency