emitter: Store back $ra by allocating an output register

If storing directly the return address during the end of block, the
value stored may be overwritten if the $ra register is dirty.
Unlink addresses at end of block

Otherwise, some recompiled opcodes (BEQ, BNE, BLEZ...) won't work
properly.