Fix bug where file caches aren't cleared when the parent directory changes
if that directory's own parent (the file's grandparent) has changed recently:
1. Grandparent dir gets change event. Calls _clearCachedData() on all immediate children
2. File's parent dir is one of those children, so it erases its _contents
3. File's parent dir gets change event of its own.
4. Since it has no _content, it has no idea what children it has, and thus
fails to clear any of them.

The fix is to use FileIndex to find children when cached dir content is
missing.

Glenn noted we might consider simply not clearing child dirs' content (only
clear child files), but NJ pointed out we don't have any firm guarantee
that a file's parent dir is ever read before the file itself is read - so
this bug could repro in other cases. (It just so happens that JS code hints
call visitAll() very early in typical Brackets usage, but there's no
guarantee in general). So we really shouldn't ever require cached dir
content for clearing children, regardless of what grandparent change
handling does.
Adds a test for the invalidation of the grandparent
Code review: fix misleading comment
Confirm the data is what's expected (based on review feedback)
Merge pull request #7109 from adobe/dangoor/file-caching-fix-test

Fix bug with file caching