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
Added ReplicaSet annotation to test in driver-compat.
Removed close() override that did nothing and did not call super.close()
Fixed names of some deprecated ObjectId methods
Switched to entrySet from keySet
Removed unused method and fixed a few javadoc warnings.
Suppressing checkstyle warnings for deprecated methods that violate naming rules
Removed diamond operator
Changed Fixture.getPrimary to dynamically determine the primary instead of hardcoding to be the first server in the URI.
Adding .gitattributes
Removed special treatment for .bat files
CreateCollectionOptions now takes long for size and max, and DB.createCollection accepts any Number and converts using Number.longValue()