This patch makes all macros forwarding to PARSE_OPTION_WITH_MARSHALLING and GENERATE_OPTION_WITH_MARSHALLING variadic.
Sice we will be splitting up all CompilerInvocation parts, this will allow us to avoid a lot of boilerplate code.
The local macros prefix forwarded arguments with local variables required by the main macros. The {THIS,NO}_PREFIX macros make it possible for forwarding macros in member functions (parseSimpleArgs, generateCC1CommandLine) to prefix keypaths with this->. (Some build bots seem to require that.)