MIPS64: Fix loading constants with li() macro.

Added new test.

TEST=cctest/test-macro-assembler-mips64/LoadConstants
BUG=
MIPS64: Add a cast to TEST(LoadConstants) to make Mentor compiler happy.

Compiling with mentor gcc 4.8.1 failed when passing array pointer thru
CALL_GENERATED_CODE macro. Simple cast fixes it.

Also fixed un-related too-long line.
MIPS64: Add operands for smi untagging in macro-assembler.
MIPS64: Add SmiLoadUntag(), SmiLoadScale(), SmiScale(), etc.

Intent is to allow Loading, Untagging, and Shifting/Scaling to
be combined. This should allow common source for mips32 & mips64
for these operations.

Though unifying the ports is no longer a short-term goal, these
changes should improve readability, even if just used on mips64.

Note that the optimizations around these are different for mips32
and mips64, and the intent is to minimize total instructions on
both platforms.

Includes one example usage from Dusan's prior CL.
MIPS64: Fix TODO smi ops to use SmiUntag, SmiScale.

These are the simple, mechanical cases. No optimization
is achieved (as we could with SmiLoadUntag).
MIPS64: Optimize address loading in li() macro to use less instructions.

The optimization relies on the fact that on 64-bit systems (x64, mips64) only
first 48 bits that contain complete information of address are used.

Fixed all code patching sites accordingly.

New test cctest/test-macro-assembler-mips64/LoadAddress added.