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