implement SortedPartitionedCursor, it is now passing hand tests and looks done. Needs automated tests