[VFS] Combine VFSFromYamlDirIterImpl and OverlayFSDirIterImpl into a single implementation (NFC)

As a fixme notes, both of these directory iterator implementations are
conceptually similar and duplicate the functionality of returning and uniquing
entries across two or more directories. This patch combines them into a single
class 'CombiningDirIterImpl'.

This also drops the 'Redirecting' prefix from RedirectingDirEntry and
RedirectingFileEntry to save horizontal space. There's no loss of clarity as
they already have to be prefixed with 'RedirectingFileSystem::' whenever
they're referenced anyway.

rdar://problem/72485443
Differential Revision: https://reviews.llvm.org/D94857

GitOrigin-RevId: 719f778441750dcadcf7c7c411d1cfb39029d59a
diff --git a/source/Host/common/FileSystem.cpp b/source/Host/common/FileSystem.cpp
index 9fa8854..a890201 100644
--- a/source/Host/common/FileSystem.cpp
+++ b/source/Host/common/FileSystem.cpp
@@ -487,7 +487,7 @@
     return E.getError();
   }
 
-  auto *F = dyn_cast<vfs::RedirectingFileSystem::RedirectingFileEntry>(*E);
+  auto *F = dyn_cast<vfs::RedirectingFileSystem::FileEntry>(*E);
   if (!F)
     return make_error_code(llvm::errc::not_supported);