Took Connection and ConnectionFactory package private, as there is no real need to have it part of the public API now that we have Stream and StreamFactory
Took ChannelProviderFactory package private, as there is no real need to have it part of the public API.
Took ClusterableServer, ClusterableServerFactory, and ChannelProvider package private, as there is no real need to have it part of the public API.
Updated gradle release plugin dependency to 0.1
Got rid of async connection, async session and async operations.  Add Protocol.executeAsync and implementations for all protocols.
Added AsyncOperation and made most implementations implement it.
Moved protocol package out of operation
Moved message classes into protocol.message
Move classes from org.mongodb.connection.impl to org.mongodb.connection
Moved ChainingServerSelection from connection to session
Renamed ChannelProviderSettings to ConnectionPoolSettings
Collapsed authentication helpers since the async authenticators are gone
Renaming Connection to InternalConnection
Renaming Channel to Connection
JAVA-845: Added support for use of a different service name for Kerberos Authentication via GSSAPI.
By default, the service name remains "mongodb", but can be altered via the addition of a mechanism property to the credential.
Moved async-related interfaces from org.mongodb.async to org.mongodb
Converted SocketSettings to use TimeUnit, to be consistent with all other Settings classes
Making com.mongodb.DBObjects package private
A few small logging fixes.
Properly returning a WriteResult from WriteProtocol and WriteOperation.
Properly throwing a MongoWriteException in all cases, not just when it's a duplicate key error.