JAVA-1519: 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.