Fix for issue #558
Created by: silabs-oysteink
Mret during debug used to jump to the debug exception handler from the ID stage, not signalling an exception from WB. This change simplifies RVFI handling of exceptions, and aligns all exceptions (all are now taken from WB).
Not SEC clean as the instruction fetch for the debug exception will happen later, and the core will now not increment instret for mret during debug.
Note: Needs an ISS change to not count mret during debug as retired.