Added SSLSettings and DefaultConnectionSettings.
Re-organized the various factory classes to properly use them.
Added connection settings for the server heartbeat monitor
Added DefaultServerSettings to allow configuration of heartbeat frequency
Introduced ConnectionProvider/AsyncConnectionProvider abstractions.
Changed connection factory interfaces to take the ServerAddress in the create method.
Introduced connection provider factory interfaces.