Enable validateVariables(), fix fuzzing crash
We need to adjust the fuzzer tests so they show the actual failure data (actually that applies to all Python tests - I want to clean that up in the future).
I think if the exitcode is negative we should show stderr instead of stdout (crashes, assert, abort, sanitizers, etc. generate negative exitcodes and our internal errors generate positive ones).
So validateVariables() did not prevent the crash because we parse m t(=a[]); as a function declaration, and argument variables may not have a scope. What we need to verify is "Variables have a scope, or appear only in a function declaration".
What we need to verify is "Variables have a scope, or appear only in a function declaration".
This is not so easy because of declarations like auto f(T& x) -> decltype(x);.