Fixed documentation of return value for  BSONObject.put to indicate that it returns the previous value associated with the given key.
Also fixed some Javadoc in BSONObject implementations.

  JAVA-1502
Added missing @Override annotations
Added a way to disable batch size tracking on DBCursor in order to avoid the list which tracks each batch size from growing
indefinitely (a problem mostly for high-volume tailable cursors).

  JAVA-591
DBCursor's OptionalFinalizer inner class is now static and only contains fields necessary to kill the cursor.
Doing this prevents it from holding references to the DBCursor state which it does not actually need, allowing the garbage collector
to reclaim that memory before the finalizer runs.

     JAVA-1519
Merge pull request #274 from jyemin/JAVA-1519

JAVA-1519: DBCursor's OptionalFinalizer inner class is now static and only contains fields necessary to kill the cursor