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: 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.
MIPS64: Fix DoLoadNamedField() when the field is an Smi.

If the field is Smi but our representation is integer32,
then load the value directly from the upper 32bits of
the 64-bit Smi.
MIPS64: Fix some representation-related issues.
MIPS64: Disassemble the stop(msg) psuedo-instruction correctly.

The stop(msg) embeds a raw 64-bit pointer in the code. But the
disassembler would choke & die on those raw bytes, crashing 
with UNIMPLEMENTED or UNREACHABLE.

This prevented using --print-all-code on many tests.
MIPS64: Fix for deopt crash in mjsunit/array-literal-feedback.js

Fixes many other tests, also.