12276: Reduce number of spurious invalidations sent to kernel.
* New policy to only send invalidations on objects that have a nonzero
kernel reference count.
* When clearing the contents of a CollectionDirectory, only invalidate the
topmost directory entry, this should take care of invalidating all paths
beneath it as well.
* Don't send invalidate_inode() when deleting an inode (by definition, the
inode is unreferenced by the kernel).
* Remove allow_dirent_cache for now (this only relates to caching negative
lookups, which we don't support).
* Set attribute attr_timeout based on the polling period of the underlying
object.
* FuncToJSONFile sets allow_attr_cache = False instead of allow_dirent_cache =
False (which is useless in this case).
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>