Pulled out a base class for MongoClient implementations
Started work on ReplicaSetMongoClient
Continued pulling up methods into abstract MongoClient base class.
Relaxed EmptyBlock checkstyle rule
Added MongoClientException abstract base class and MongoReadPreferenceException subclass
Setting readPreference property for count command
Made default database constant public
Added public method chooseReplicaSetMember to ReadPreference API.  Changed class name ReplicaSetNode to ReplicaSetMember
Refactoring of the replica set monitoring code