Further refine condition variables: keep a count of waiters (or -1 for a signalled condvar with no waiters).