1.0.41.18: threads: stop_for_gc_handler should check for foriegn contexts
* stop_for_gc_handler() was unconditionally calling
fake_foreign_function_call(), even though a thread can legitimately
receive SIG_STOP_FOR_GC while in foreign code (and this is even the
normal situation when waiting for a mutex or waitqueue).
* Use the now-idiomatic was_in_lisp variable fix: Check for an
active foreign-function call, only call fake_foreign_function_call
if the context is in lisp code, only undo the fake call if the
context was in lisp code.