Make the Refresh File Tree command clear caches

This ensures a full refresh.

As suggested in #7929.
sigh. The implementation is a little cleaner in FileSystem, but results in a flow like `ProjectManager.refreshFileTree -> FileSystem.clearAllCaches -> FileSystem._handleExternalChange(null) -> ProjectModel.handleFSEvent -> ProjectModel.refresh`. The problem with this is that `ProjectManager.refreshFileTree` needs to return a promise that depends on the promise returned by `ProjectModel.refresh` and those two functions are no longer directly connected.

I'll need to rejigger a bit more, but I can't do that right now.