VFS messaging/interfacing work stage 7g/99: More firming up of stage 7.
Fix a serious bug in cache_lookup(). The original lookup code could get
away with returning an unreferenced vnode but the new code's cache_hold()/
cache_drop() and related functions can interact badly with an unreferenced
vnode. So make cache_lookup() return a referenced vnode.
Detect and handle locking races in cache_nlookup() and cache_lookup().
Change cache_zap() to require a locked namecache record so it doesn't
rip data out from under cache_lookup()/cache_nlookup()/cache_resolve().