hammer2 - stabilization
* Fix the hammer2_chain_assert_not_present() call in hammer2_chain_insert()
to avoid SMP races that could cause it to trigger falsely. Also fix a
case where inserting a deleted chain was improperly calling it.
* Fix bugs in hammer2_combined_find(). It is possible for a deleted
chain from a prior synchronization point to cover a matching media
blockref from a later synchronization point. When both a media block
and an in-memory chain are found, do not just blindly choose the
in-memory chain. Choose based on the synchronization points.
* Refactor part of the hardlink code. Do not create a dummy chain
to place-hold the target when a hardlink has to be shifted up to
a parent directory. Allow hammer2_chain_duplicate() to do it.