Fix the crash caused by interleaved error and QUIT/HALT

this fixes CC#2190, which is illustrated by:

attempt [; this sets Saved_State
	catch/quit [ ;this calls Try_Block_Halt and sets Halt_State
		print x ; this causes an error, and calls
			;"longjmp(*State_State)", which invalidates
			; Halt_State above.
	]
]
load %./ ;Just tries to fill up the C stack and messes up "Halt_State".
halt ; Jumps to the invalid "Halt_State", and crashes

or

catch/quit [ ;sets Halt_State
    attempt [ ;sets Saved_State
        quit ; jumps to Halt_State, and invalidates "Saved_State"
    ]
]
print x ; Causes a jump to the invalid "Saved_State"