MIPS64: add simple tracing to the simulator.

This traces memory read/write, and integer register writes.

It does NOT yet include any FP support. (I have noticed that lwc1
instructions do print something, it is most assuredly WRONG.

This does also print instruction counts, which are helpful for
using --sim-stop-at flag.
MIPS64: Fix the patching of the BackEdgeBookkeeping sequence.

Now uses the long, 6-instruction li() for the Call() address.
TODO: Builtins::Generate_OnStackReplacement() loads unaligned int64.

Possibly create an unaligned ld macro ?
MIPS64: Fix Assembler::target_at() and target_at_put() for li() format.

These were still using the old li() instruction sequence.
MIPS64: workaround in disassembler for raw pointer in redirect.

The external reference redirector emits break_ 127, followed by a offset
emitted in the instruction stream. This can take any value and is not
always a valid MIPS instruction. This lets us fake-diassemble it, rather
than crashing on UNIMPLEMENTED.

Better if we could detect the 2-instruction sequence with break_(127),
and process this properly.
MIPS64: Add DMULT and DMULTU instr to simulator.

This is a quick hack that needs fixing.

Also, there are mips64 rules about how the 32-bit MULT/MULTU
work with 32-bit inputs, which should be validated with ASSERTS.