1.0.48.10: add deadlock detection to spinlocks and mutexes
Each thread gets a WAITING-FOR slot which holds the lock it is
currently trying to acquire.
After initial try at lock acquisition fails, we check for deadlocks:
we look at the thread that owns the lock we want -> lock it is
waiting for, etc, recursively, until we either bottom out or find
someone waiting for us.
Print thread as having state WAITING if it is waiting for a lock.
Add a PRINT-OBJECT methods for MUTEXes and SPINLOCKs.
SB-THREAD:THREAD-DEADLOCK-CYCLE contains a list of the
threads and locks involved, so that the situation can be
analyzed even afer a handler has broken the deadlock.