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
Changed field name from removedCount to deletedCount
Fixing up the tests.