Cleaner tryNext() implementation for MongoCursors

Merged `tryNext()` into MongoCursor - making tailable cursors easier to use.

JAVA-1326
Reading this again, I think it could additional documentation about how it behaves when using a tailable cursor.  Specifically, it should say that unlike normal cursors, the method may return null and then at a later invocation return a value.