This patch implements generation of remaining header search arguments.
It's done manually in C++ as opposed to TableGen, because we need the flexibility and don't anticipate reuse.
This patch also tests the generation of header search options via a round-trip. This way, the code gets exercised whenever Clang is built and tested in asserts mode. All check-clang tests pass.
Can we make this =true vs. =false, or add a -no-round-trip-args? That will allow:
to disable it in asserts builds; much better than: