As described in the trac ticket, the VFS file cache is not useful, mainly because the OS already caches files. The main changes for this diff are in the LoadFile method in vfs.cpp, which now loads files without adding them to the cache, or checking if they are already in the cache.
Removing the cache allows to remove two old functions from GameSetup.cpp that were only used for the VFS file cache, OperatingSystemFootprint and ChooseCacheSize. OperatingSystemFootprint is particularly dated, seems to return values arbitrarily (and only considers Windows), and hasn't been updated since rP8319 (and as such considers Windows XP a "newer Windows version" in a comment). Removing these functions allows to remove some unneeded includes from GameSetup.cpp.
Comments in vfs.cpp/.h were kept if they are still relevant.
This diff was compiled and run on Windows and Linux.