This function is used to rollback the action taken by an instruction and its
children. This is needed for example when speculation has gone wrong and the
state of the CPU must be reset to a point that is consistent with program
order. This function will also call SIM_instruction_end for every
instruction squashed to deallocate the data structures for the instruction.
If the hap Instruction_Squashed has been installed the associated
callback will be called for each instruction before it is
deallocated. This is useful for example if user data has been added
to the instruction.