hammer2 - Major restructuring, part 2/several
* Stabilization pass on hammer2_inode_connect() and
hammer2_hardlink_consolidate(). Adjust the API to accomodate
requirements (primarily that the caller is responsible for holding
the inode locked and for replacing ip->chain).
* Add hammer2_inode_repoint() to handle the guts of replacing ip->chain.
* Flush code shouldn't be messing the chain->bref when deleting the chain
as the chain may be used in a duplication operation after the call.
* basic rm/mv/ln operations now work (note: we still need to code the
reparenting of sub-chains based on chain->duplink, and hardlinks are
still buggy when parent directories get renamed).