1.0.15.20: refactor "system locks" framework, one TIMER buglet
* Choose the degree of GC/interrupt suppression at compile-time.
* Default is not to allow interrupts at all, callers which need
WITH-INTERRUPTS to work can now specify :ALLOW-WITH-INTERRUPTS.
* Should fix reported Stumpwm crashes due to attempts to recursively
obtain *SCHEDULER-LOCK*. (Caused by SIGALRM interrupting GET-MUTEX
inside the call to %TIMER-CANCEL-FUNCTION, which led to recursive
entry to WITH-SCHEDULER-LOCK.)
* Don't reschedule timers for dead threads.
* Three new test-cases for timers, which (1) represent my failing
attempts to trigger the Stumpwm bug described above (2) led to
noticing the rescheduling promblem (3) fail horribly on OS X Tiger
-- not sure if this is our or Darwin's problem...