Cleanup some dangling issues with cache_inval(). A lot of hard work went
into guarenteeing that the namecache topology would remain connected, but
there were two cases (basically rmdir and rename-over-empty-target-dir)
which disconnected a portion of the hierarchy.
This fixes the remaining cases by having cache_inval() simply mark the
namecache entry as destroyed without actually disconnecting it from the
topology. The flag tells cache_nlookup() and ".." handlers that a node has
been destroyed and is no longer connected to any parent directory.
The new cache_inval() also now has the ability to mark an entire subhierarchy
as being unresolved, which can be a useful feature to have.
In-discussion-with: Richard Nyberg <rnyberg@it.su.se>