Track changes to all cursors.
For any change to a page or node, update all other cursors pointing at the same page (or node). Cursors are now stored in a linked list off their owning transaction. Cursors are all closed when the transaction ends. Cursors in parent transactions are updated when their child transaction commits.