hammer2 - major simplification 1/many (stabilization C)

* Remove lock-count test from write path where async reads can be
  queued.  Fixes false assertion.

* Deleted-but-still-open files are moved to a hidden directory, and on
  mount a scan is done to remove them.  The scan was improperly passing
  a NODATA flag when inode data is needed to do a proper stats rollup
  during the deletion.
hammer2 - Make snapshot directive more convenient

* Make the snapshot directive more intuitive.  The optional arguments
  are now (1) the <path> to snapshot and (2) the PFS label to use.
  If not specified, the PFS label is named after the PFS the snapshot
  is taken from, the last component of the path being snapshotted,
  and the date and time.

* pfs-list now takes an optional argument pointing at a mounted hammer2
  filesystem.  -s <path> still works, it just isn't as intuitive.
hammer2 - Get snapshots working again

* Clean up null-pointer dereference panics and sequencing issues when
  creating a snapshot.

* Fix panic on mount if the requested label is not found or is not
  mountable.

* Automatically flush the snapshot before taking and automatically flush
  the super-root entry before returning.