Without this patch 6 marshalling tests fail on Windows.
This patch contains the following changes:
- Allow paths with Windows slashes (convert to the POSIX style instead of assertion)
- Add support for URI with Windows path.
- Change the value of the second parameter of several llvm::sys::path::convert_to_slash() calls: we should use windows instead of posix to ensure UNIX slashes in the path.
- Port RemoteMarshallingTest::IncludeHeaderURI test to Windows.
Please explicitly spell out StringRef here, otherwise visually it is appealing to put const auto there but it would be a StringRef which is no obvious.