HAMMER 38E/Many: Undo/Synchronization and crash recovery
* Clean up interlocks between the frontend and backend.
* Deal with the case where the backend needs to sync a record to disk that
the frontend wishes to delete. This basically just involves converting
the record from a deleted in-memory record to a delete-on-disk record,
so the synced record does not become visible to userland.
* Deal with the case when an inode is being destroyed where the backend
wishes to delete an in-memory record without syncing it to disk.
* Document numerous special cases for future attention.