Currently, clang-cl always uses Windows style for unquoting, and clang always uses POSIX style for unquoting.
In general, response file quoting should match the shell the response file is used in. On Windows, it's possible to run clang-cl in a bash shell, or clang in cmd.exe, so a flag for overriding the default behavior is natural there. On non-Windows, Windows probably never makes sense (except maybe in Wine), but having clang-cl behave differently based on the host OS seems strange too -- people who want to use clang-cl on non-Windows with "native" response files will have to pass --rsp-quoting=posix.
This also includes the clang-side test changes needed for http://reviews.llvm.org/D19417
Should we call it "posix" or "gnu"? The reference implementation we are trying to match is part of libiberty, which is why I called the tokenizer TokenizeGNUCommandLine.