smp: Use process-status-sync-all only while threads are locked.
Subprocess-global-status-tick now just returns (runtime subprocess)'s
global-status-tick. Thus process-status-sync-all is used in
single-threaded fashion in handle-subprocess-status-change, which is
used by the test-select- procedures to clear the condition that causes
the test-select- primitives to always return 'process-status-change.
Handle-subprocess-status-change is now only called in test-select-
descriptor. The non-locking version, %handle-subprocess-status-
change, is only called in io-waiter's wait-for-io loop (the only place
where test-select-registry is used).
Punted the block? parameter to test-select-descriptor. This procedure
should never be used to block Scheme. Only the call to test-select-
registry in the wait-for-io loop should block.