hammer2 - Refactor frontend part 1/many
This sequence of commits will refactor the frontend to distribute cluster
operations for VOPs to per-node thread sets. Trying to code async locking
and I/O across multiple nodes is too complex and prone to bugginess. Instead,
operations will be distributed to individual nodes and compete for completion,
with the frontend returning the instant sufficient progress has been made.
Remaining operations will continue in the background (or abort) even after
the frontend returns.
* Separate out strategy code.