In AsyncQueryBatchCursor, setting connectionSource to null after release so that it's not double-released if killCursor is called more than once.

 JAVA-1566
Removed unused imports
NettyStream does need some synchronization between threads calling readAsync and Netty threads calling methods in InboundBufferHandler class

 JAVA-1587
Give a bit more time to selectServer in our tests.  1 second is not enough for Jenkins
Give a bit more time to selectServer in UserOperationsSpecification.  1 second is not enough for Jenkins
 Added support for storageEngine field for createIndexes and createCollection commands

  JAVA-1549
Decrease chance that the test will hit the race condition
Added more DocumentCodec unit tests
Added a smoke test for the async driver

Refs: JAVA-1564 JAVA-1565
Added regression check for null items occuring in the collection names

JAVA-1564
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