Abstraction of a cursor over a returned resultset.
This is an opaque interface that only provides a way
to close the cursor; all other operations are done by
passing a ResultCursor to QueryExecutor methods.
Close this cursor. This may not immediately free underlying resources
but may make it happen more promptly. Closed cursors should not be
passed to QueryExecutor methods.