Change mechanism used to signal the no-current-thread error. Previous
mechanism tried to directly signal the error, which results in
divergence. New mechanism sends the error to the console thread, or
ignores the error if there is no console thread.
Modify blocking code to catch any errors that occur while blocked.
These errors are being signalled in the no-current-thread state, and
must be resignalled to the console thread (again, they are ignored if
there is no console thread).
Modify several thread operations to be no-ops in the no-current-thread
state, rather than signalling an error.
Implement new procedure CONSOLE-THREAD.