This adds a flag for llvm-lit to print all substitutions for each discovered
test suite as suggested in http://bugs.llvm.org/show_bug.cgi?id=31609.
This flag can be used to quickly look up all defined substitutions for a
given configuration without diving into Lit configs.
The implementation tries to minimize escaping but also avoid ambiguity, so in
the output quoted keys/values are always escaped, and unquoted keys/values are
always literal.
Why is showing substitutions coupled with listing the test suites?