Fixed issue with Findbugs task
Trying to fix the race condition in cluster code
Guarding against re-entrancy with additional synchronization.  Updated javadoc to warn about it.
Added third status for connections: Unconnected.  This is to distinguish between a state where we're trying to reach a server and haven't succeeded or failed yet, and the state where we've tried and failed.
JAVA-836: Refined server monitor thread to log  every state change of the server description (except avg ping time change...).
Changed DefaultCluster.getDescription to fail early if not in connecting state.
Refactoring: changed ServerConnectionStatus to ServerConnectionState
Requiring that ChangeEvent.oldValue is also not null.
Fixed code coverage