Print a diff when trace comparison fails.
Don't use RuntimeValue in FunctionState.

This is another step towards platform-independent state recreation. For now we
are storing the current value of Instructions in DenseMaps, which are divided
according to the type of the Instruction: uint64_t for integer types,
stateptr_ty for pointers, float, double, and llvm::APFloat for floating point
types. Clients of the FunctionState now must specifically request which runtime
type they are expecting, using new methods: getValueUInt64(), getValueFloat(),
etc. Clients using the functions in GetRecreatedValue.hpp don't have to worry
about these changes.
Print long double values in printComparable().