squash: don't update originaldts when marked as invalid
Fix wrongly used CFile::Exists() for directories instead of CDirectory::Exists() Currently it can cause hardly detectable errors as some VFS don't return true when directory is requested for CFile. One of VFS of such kind is Win32File.
Implement PosixFile class for accessing local files on Posix platforms
Switch to new PosixFile
Remove HDFile