Implement save and restore so that cursors can share sessions with updates.
Fix loops through a record store that remove records: handle the required save/restore/invalidate logic on record store iterators.