VFS messaging/interfacing work stage 7f/99: More firming up of stage 7.
unlink, rmdir, rename, and whiteout removal functions use NAMEI_DELETE
namei() lookups. With the old API this zap'd the namecache entry before
the system actually runs the operation. If the operation fails we can be
left with a broken namecache hierarchy which is not allowed in the new API.
Change old API cache_lookup() semantics to *NOT* zap the namecache entry and
add explicit zaps after calls to VOP_UNLINK(), VOP_RMDIR(), etc. to replace
the functionality.
rename() attempts to issue a NAMEI_RENAME lookup which zaps the target, but
the same problem occurs if the target is preexisting and being overwritten.
A similar solution is employed for renames.