These shortcuts let the scheduler skip any subsequent ->pre_select()
calls as well as the actual call to select(2) if the current task's
->pre_select() requested a zero timeout.
This idea turned out to be dubios at best. The main problem is that
->post_select no longer knows whether ->pre_select() and select()
have been called. For example, if ->pre_select() monitors some file
descriptor, ->post_select() might find it not ready for I/O even when
it actually is because ->pre_select() or select() was optimized away.
Another problem are tasks whose ->post_select() method expects that
->pre_select() sets some variable in a shared data structure.
This patch removes the scheduler optimizations so that all
->pre_select() methods of all tasks are called once per scheduler
interval.