"echo" command is not very portable. Particularly on Windows, we have
various types of echo command that interpret backslashes, double-quotes
and single-quotes differently. On windows, shell does not tokenize
command line arguments but each command does, so the interpretation
varies depending on your crt.
As a result, we observed hard-to-fix errors that happened only on a
limited set of Windows buildbots.
This patch adds a portable "echo" command which always interprets
arguments in the Unix style even on Windows. llvm-echo returns the
same string for a string no matter what platform it is running.
This command should fix the compatibility issue.
Let's use llvm::outs() instead of std::cout just for consistency with the rest of LLVM.