Tests no longer dependent on the order that indexes are returned from DBCollection.getIndexInfo
Fixed race condition in FutureAsyncCompletionHandler
Plugged connection/connection source leaks in async operation execution

 JAVA-1578
Fixing race condition on close.  Since we're checking that connections are all checked in after every test, there is
a race because the close method asynchronously kills the cursor and has a connection in use until it completes.
Ensured that ByteBuf instances are released in all Stream implementations in the case where an error is reported
and the ByteBuf is not being passed back to the caller (who is then responsible for freeing it).

 JAVA-1577
Added open/openAsync methods to Stream interface to make implementation simpler. Before this, implementations
either had to open in the constructor or in write/writeAsync.
Also removed unnecessary synchronization in NettyStream that made it prone to deadlock.  The Stream client
is responsible for ensuring that there is at most one call to read/readAsync and one to write/writeAsync going on
concurrently, so Stream implementations do not have to do their own synchronization.

 JAVA-1584, JAVA-1575
Changed MixedBulkWriteOperation to take a List<? extends WriteRequest>
Changed insert/insertMany methods in new CRUD API to return void
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