kernel - Fix "cleaned vnode isn't" panic
* Fix the "cleaned vnode isn't" panic. This panic was occuring due to
vrecycle() not checking for a vgone*() recursion.
Adjust vrecycle() to check for the recursion. The recursion can be
detected by testing the VRECLAIMED flag.
* Under certain circumstances hammer_vop_inactive() was calling
vrecycle(). This could cause the underlying vnode to be modified
after it has been destroyed as the recursion returns.
* Add a KKASSERT() in vgone_vxlocked() to detect the condition
earlier if it occurs again.