changed HeapRecoveryUnit to an undo log instead of a redo log

this allows cursors to read their own writes, prevents supportsDocLocking()