hammer2 - More work on userland hammer2 msg infrastructure
* When a link error occurs generate a LNK_ERROR message for each transaction
before setting the iocom ERROR flag and returning the final
non-transactional LNK_ERROR.
* Processing command switches switch on the original transactional head.cmd
instead of the current msg->any.head.cmd, which allows the use of mixed
cmd's in a transactional message stream.
The target function then handles the actual msg->any.head.cmd. Thus we
can consolidate all sub-commands used within a transaction into the target
function, which greatly improves code quality.
This allows us to send LNK_ERROR messages over active transactions.
* Print the pfs_id and label for the received LNK_SPAN message the kernel
sends to the userland hammer2 service process, and verify LNK_ERROR
processing for connection terminations. Yup, it works.