Add instrumentation calls to certain testcase runners

The test runners must be consistent with the rest of the compiler. This
change alone fixes more than 120 test cases.
Do not try to find nested scopes in ER instrumentation scopes
Tweak source positions, set during instrumentation

Be conservative and do not set fictitious source positions, for the
cases, where a source position is considered unnecessary.  Especially
make sure that the calls to instrumentation function literals do not
fall withing the scope of the function literal itself, as it confused
the debugger and leads to wrong scope determination and crashes.
Ensure the "next" part of "for" statements have a source position

... by copying it from the expression into the containing expression
statement. This change causes a source position to be emitted by the
full code generator just before the code for the "next" expression.
Missing a source position in that point may cause a break location's
source position to be erroneously deduced to be inside the for loop
body, which in turn may cause a wrong (inactive) scope to be declared
current and ultimately result in assertion failure or worse.