hammer2 - Refactor frontend part 7/many
* Start fleshing out the XOP infrastructure. The frontend will use this
infrastructure to replicate VOPs to per-node threads for cluster operation.
The basic idea here is for a VOP to allocate an xop and throw it into a
xop_group (of which several are available). ALL nodes associated with
that xop_group will then process the xop each in their own thread.
The xop can be detached from the frontend once the cluster operation
completes, if interruptability is desired due to a stalled cluster,
or once the operation has run on a sufficient number of nodes but still
might be running or stalled on remaining nodes.
* Rename hammer2_syncthr.c, it is now more generic.