fix Issue 9254 - ICE on invalid foreach aggregate

ForeachRangeStatement and WhileStatement are basically replaced into ForStatement in semantic phase.
If any error occurs, they will be left as is, however.

Therefor, `assert(0)` in blockExit, usesEH, comeFrom have the potential to be invoked.
detab test/runnable/testswitch.d
Add -w option in PERMUTE_ARGS, and fix test cases.

As far as I see, these changes does not affect to the things which are actually tested.
fix Issue 9263 - statement is not reachable when statement is reachable
Merge pull request #1431 from 9rnsr/fix9263

Issue 9263 - statement is not reachable when statement is reachable
Trivial cleanup: Consistently use the CPP_MANGLE macro.
Merge pull request #1432 from klickverbot/use-cpp-mangle

Trivial cleanup: Consistently use the CPP_MANGLE macro.
Merge pull request #1430 from 9rnsr/fix9254

Issue 9254 - ICE on invalid foreach aggregate
Merge pull request #1433 from AndrejMitrovic/Fix9250_2

Issue 9250 - Wrong line number in assignment diagnostic
Fixes Issue 8765. Fixes Issue 9255.

8765 - Assert should print failing expression.
9255 - Assert should print file name rather than module name, to be
consistent with other Exception types.