two fixes for the case when a (synchronous) exception is propagated to
the top of a thread's stack, i.e. it is unhandled.
1. store the exception in the right place (we were using the
OFFSET_StgTSO_stack macro and not accounting for the TSO's
header size)
2. put an stg_enter_info on the stack so that the GC can understand
this thread's stack.