Split InstructionWithValue by types.

Use a different event for each type of Instruction that we record: uint8_t,
uint16_t, uint32_t, uint64_t, pointer, float, double, and long double. Note
that in the event InstructionWithPtr, the value is stored as a uint64_t - this
is one step towards removing platform dependence from the execution trace.

This commit also bumps the trace version to 5, as the trace format has now
deviated from the last released SeeC (0.25).
Move RuntimeValueRecord to RuntimeValue.hpp.

RuntimeValueRecord is no longer used in the execution trace format, so
move its definition to RuntimeValue.hpp.

Also remove unused methods from RuntimeValue.
Don't use uintptr_t in the process trace.

Store global variable addresses, function addresses, and initial file
stream addresses as uint64_t.