As part of an effort to make Host not be such a monolithic, catch-all class, this patch moves file system logic out of Host and into a smaller, more appropriate class, which is also in the Host layer. More specifically, this patch makes the following changes:
- Creates an lldbHostPosix library which can is useful for containing code which can compile and link on any posix-compliant platform
- Creates Host/FileSystem.h which defines a common file system interface
- Implements FileSystem.h in Host/windows/FileSystem.cpp and Host/posix/FileSystem.cpp
- Creates Host/FileCache.h and Host/common/FileCache.cpp, which defines a class useful for storing handles to open files needed by the debugger
Tested on Windows and Linux using CMake. There are probably outstanding issues with the Mac build, as I don't have that setup yet. In particular, Mac build will need to create the lldbHostPosix library, link against it, and add the new files to the Xcode project.