hammer2 - Fix upgrade deadlock
* Fix a deadlock which occurs when hammer2_chain_unlock() tries to
upgrade the 'last' shared lock to exclusive. This can deadlock if
another thread obtains the chain shared before we manage to do the
upgrade.
Just use a 'try' here. If it fails it means someone else got a lock
(of any kind) and we don't have to worry about dropping the chain data.
* Replace hammer2_mtx_upgrade() with hammer2_mtx_upgrade_try(). Remove
support for a blocking 'upgrade'. It is no longer needed and it is
too dangerous to have anyway.