hammer2 - Refactor file unlink w/open descriptor (2)

* Stabilization pass

* Fix various deadlocks.  When dealing with hardlinks lock the common
  parent directory before locking the source/target directories.
  Move cache_rename() outside of internal H2 locks.

* Fix an issue with nlinks counting.

* Remove some debugging.
hammer2 - cleanup embedded data hacks

* Chains of type BREF_TYPE_INODE and BREF_TYPE_FREEMAP_LEAF were embedding
  their data (using a kmalloc()'d copy instead of a buffer-cache mapping).
  This was done due to recursive locking issues with struct buf's.

* With the new hammer2_dio.c module we no longer have to use this hack.
  Remove it and use device buffer mappings (via dio) for these two chain
  types.

* All chains except the embedded volume and freemap headers now use buffer
  maps.

* This should substantially reduce adhoc kernel memory use and improve
  performance as VOP calls no longer have to kmalloc/bcopy/kfree clean
  inode data on every call.