hammer2 - Start adding internal cluster API

Initial addition of the cluster API.  H2 will be non-operational until this
is stabilized.  Adding the cluster API will require a few stages.  This first
stage is to add the API and make it work under degenerate (single-target)
conditions.

The hammer2_cluster structure collects and manages an array of up to
8 chains representing mirrors / cluster nodes / copies of the same point
in the topology.

* Add hammer2_cluster.c, and hammer2_cluster_t

* Replace nearly all high-level (vnops, vfsops) chain calls with
  cluster calls.
Try to start usbd(8) only if it actually exists.

It is specific to the old USB stack so we can remove the rc script
once we don't offer it anymore. For now, just check if it is there
before starting.