Correct overflow check flushing

We also pass the expression to be evaluated by pointer so that it
doesn't need to be retained and can be mutated and written back
out, meaning the generated code doesn't need a register dup.
Fix case-range jump target
Fix "continue" inside for loops
Add local asm() to test2/ignores
Fix duplicate "default" error location
Fix phi-merging using an offset register
Move dbg_emit.c to a test
Change block ordering - keep terminating blocks before ret
Fix jump/goto threading test