Previously we have a broken hack that would drop a replicated
null dentry if it got new linkage. We already get an explicit
message if it was unlinked, that unlinks it cleanly. Do the
same for links, and replicate the newly linked inode as
needed. This is much cleaner and more correct.
Specifically, this fixes a problem where a create (link) and
unlink are pipelined by the same client under the same xlock,
so that the previous hack (in the handle_lock handler) never
triggers because the lock state doesn't toggle between the link
and unlink.
send_dentry_link sends current, not projected, linkage