hammer2 - Per-PFS transaction management
* Replace the global transaction manager with a per-mount transaction
manager.
* Each media volume's spmp (super-root pfs) also gets its own transaction
manager.
* The Filesystem sync now flushes each PFS associated with the mount,
and then flushes the super-root for the related physical volumes.
When flushing the super-root, the flush stops at the PFS transition.
* Interactions on one mount point no longer stall other mount points on
the same media. This also means that freemap updates related to
other mount points may occur while a flush is occuring on one of them.
(might have broken recovery here, will fix in another pass).
* For now keep the syncer interlock vs new modifying operations to ensure
a stable snapshot.