Reschedule instead of switching to delayed threads

This will hopefully take care of #5263, and might fix other issues too.  If a thread goes into a wait, it may reschedule right into an interrupt.

In this case, it would've been switched back to, and woken up early.

-[Unknown]