Added support for the listIndexes command to ListIndexesOperation

JAVA-1456
Added ListCollections command support to ListCollectionNamesOperation

JAVA-1455
Add ServerDescription as a property of InternalConnection and use it to implement Connection.getDescription.
With this change, a valid connection will always at least report the correct server version, since in order
for the version to change the server would have to be restart and the connections would all reset.
This is a pre-cursor to adding authentication to heartbeat connections, to avoid authenticating arbiters.

JAVA-1475
Authenticate heartbeat connections unless they are to an arbiter.

JAVA-1465
Connection interface now has a ConnectionDescription instead of a ServerDescription.
ServerDescription has more information than is typically needed once you have a connection, so this chance
provides some useful property segregation among the two classes, thought there is some overlap.
Completed Javadoc for the driver-core module of almost all public classes and public or protected members.

JAVA-1391
Replace KillCursor class with just a List<ServerCursor>
Removed unused Group class
Moved Loggers class into the logging package and made Logger implementations package private.
Support authentication mechanism negotiation. If the authentication mechanism is unspecified,
the driver will use the most secure mechanism based on the server version. Currently this is
SCRAM-SHA-1 for server version >= 2.8, and MONGODB_CR for earlier server versions.

JAVA-1461
Removed CursorFlag dependency in FindOperation

Added boolean properties for the individual CursorFlags in FindOperation

JAVA-1443
Added boolean parameters to QueryProtocol / QueryMessage
Remove CursorFlag use in MongoCollectionImpl

JAVA-1443
Removed CursorFlag

JAVA-1443
Remove CursorFlag from ListCollectionNames & ListIndexes operations

JAVA-1443 JAVA-1455 JAVA-1456
Add some generics flexibility to RootCodecRegistry
Added new helper API for admin functions

Removed old Administration classes, merged functionality into MongoDatabase / MongoCollection
Updated admin operations to follow builder style options.
Removed dropDups support
Minimal update of async / rx projects to updated operations
Added OperationExecutor to Mongo and now used in DB and DBCollection

JAVA-1332 JAVA-1412
Support legacy dropDups

JAVA-1412
Documentation updates for com.mongodb.client

JAVA-1411
ServerAddress now lower-cases all host names.