Another micro-optimization.
More micro-optimizing.  All regression tests pass.
Hunting more optimizations. All regression tests pass.
Remove duplicate specifier.
Change the dispatcher to use long-lived threads.
Progress metering on both threaded and unthreaded branches.
Cleanup. All regression tests pass.
Multithread fix: synchronize completion by worker thread exit; fix enqueue_mutex lock
Remove cond variable made unnecessary by Frank Ch. Eigler's change.

Also, progress and revlist mutexes don't need to be distinct.
Reduce variavle scope.  All regression tests pass.
Remove scaffolding.
Fix threaded progress meter.
Unify threaded with nonthreaded scheduler.
Cosmetic rearrangement.