Add FileEntryRef::getDir, which returns a DirectoryEntryRef. This
includes a few changes:
- Customize OptionalStorage so that Optional<DirectoryEntryRef> is pointer-sized (like the change made to Optional<FileEntryRef>). Factored out a common class, FileMgr::MapEntryOptionalStorage, to reduce the code duplication.
- Store an Optional<DirectoryEntryRef> in FileEntryRef::MapValue. This is set if and only if MapValue has a real FileEntry.
- Change FileManager::getFileRef and getVirtualFileRef to use getDirectoryRef and store it in the StringMap for FileEntryRef.
Dead variable, do we need it?