1.0.41.11: gc: Interrupt contexts and stacks should be scavenged per-thread.
* Pass an explicit thread argument to scavenge_interrupt_contexts()
instead of having it call arch_os_get_current_thread(), saving the
extra call on cheneygc and allowing multiple threads on gencgc.
* On gencgc, the same applies to scavenge_control_stack().
* On gencgc, don't scrub the control stack when scavenging, wait
until after the scavenging is done (it's done by the stop-for-gc
handler on other threads).
* On gencgc, scavenge interrupt contexts and control stacks for
all threads, not just the current thread.
* On a minor note, the code for scavenging interrupt contexts is
largely unchanged between cheneygc and gencgc. Perhaps it should
be re-unified in gc-common.c?