New threads aren't non-switchable, so waitpid() them before scheduling.

Resolves #694.

This is a little bit of a sneaky fix, but threads dying before they run is an edge case so I'm not too embarrassed.