mount: Fix caching contents of open directories

This commit fixes a bug which cause dbench to fail in situations like
this:

902 Rename "\clients\client1\~dmtmp\PWRPNT\NEWTIPS.PPT" "\clients\client1\~dmtmp\PWRPNT\PPTC241.TMP" NT_STATUS_OK
903 NTCreateX "\clients\client1\~dmtmp\PWRPNT\NEWTIPS.PPT" 0x40 0x1 2087 NT_STATUS_OBJECT_NAME_NOT_FOUND
904 NTCreateX "\clients\client1\~dmtmp\PWRPNT\NEWTIPS.PPT" 0x40 0x2 10063 NT_STATUS_OK

Mount tries to cache entries in open directories and didn't invalidate
this cache when files were removed. In the example above this causes:
* 903 to call lookup(parent, "NEWTIPS.PPT") which returns inode from
  cache which belongs to "PPTC241.TMP". This inode is successfully open
  even though the file NEWTIPS.PPT no longer exists.
* from the same reason 904 doesn't create a new file, but opens
  PPTC241.TMP for writing, which results in damaging this file.

This commit fixes the issue by adding a directory entry cache
invalidation mechanism and using it for calls which can remove links
(rename, unlink, rmdir).

Change-Id: I636636898f30e26d22f9fe2fbeedc947f438b643