irq: fixup IRQ handling when continuously running.

When we're running (not being debugged/single stepped) we need to return
to either the taken branch target or next pc.  When we're single
stepping we return to the next instruction we're about to execute.