Set limit(-1) for findOperations when using first() in OperationIterable

Performance improvement for find().first() scenarios.
JAVA-1527
Normalize DBCollection findOne()

Now uses the more conventional limit(-1) rather than batchSize(-1).
Although under the covers it equates to the same thing, it seems to
be the norm across drivers.
ConnectionId now has-a ServerId, which in turn has-a ClusterId.
Updated all the listener interfaces to take parameters of type ConnectionId, ServerId, or ClusterId, as appropriate

  JAVA-1512, JAVA-1513
Removed support for the exhaust flag until we decide whether it's going to be supported by the server in the long term or deprecated.

 JAVA-1520
Adding ability to debug gssapi in gradle