Handle endianness in getScalarValueAsString.

If the host's endianness does not match the machine that the execution
trace was recorded on, then byte swap the APInt representation that is
used for stringifying.
Handle endianness in readAPIntFromMemory.
Fix signedness issues.

In RuntimeValue's getAPInt() method, there's no need to fill the unused
bits in the uint64_t, because APInt ignores the unused bits.

Rename RuntimeValue::getAPSInt() to getAPSIntSigned to indicate that the
returned APSInt is always set to be signed. Also, correct the
construction of the APSInt so that it *is* signed (a simply mistake with
the bool parameter was constructing all APSInts as unsigned).

Split getAPSInt() in GetRecreatedValue.{hpp,cpp} into two functions:
getAPSIntUnsigned() and getAPSIntSigned(). The former extracts the value
using getAPInt() and wraps it in an APSInt. The latter behaves as the
old getAPSInt() function did.

Update getScalarValueAsAPSInt() to correctly return a signed/unsigned
APSInt as appropriate for the given builtin type.

Update GetValueOfBuiltinAsString specialization for signed integers to
retrieve a signed APSInt using getAPSIntSigned().