Connection pool invalidated when an asynchronous socket exception is returned from send or receive message callbacks.

  JAVA-1345
DocumentCodec now encodes and decodes List and Map values

  JAVA-1358
Removed UnacknowledgedWriteException class
Renamed MongoQueryFailureException to MongoQueryException
Renamed CommandFailureException to MongoCommandException
Renamed com.mongodb.bulk.BulkWriteException to com.mongodb.MongoBulkWriteException
Added MongoNodeIsRecoveringException and MongoNotPrimaryException

 JAVA-1570
DefaultServer no longer invalidates on a socket timeout exception.

 JAVA-1568
DBCollection Javadoc now more explicit about what exceptions it throws for write operations.
They call out DuplicateKeyException and WriteConcernException explicitly.
Replaced tailable and awaitData booleans with a CursorType enumeration.

  JAVA-1493
Added MongoWriteException and MongoWriteConcernException for use in new MongoCollection API.

 JAVA-1587
Added support for modifiedCount in UpdateResult, which required using MixedBulkWriteOperation for
all writes in the new CRUD API, as only that operation informs the caller of the modifiedCount

As part of this, changed the exception types thrown for all single write operations in the new CRUD API
from WriteConcernException to MongoWriteException/MongoWriteConcernException

 JAVA-1569, JAVA-1587
Added isClosed method to AsyncBatchCursor