runqueue: Remove use of waitpid on worker processes

Use of waitpid on the worker processes is a bad idea since it conflicts
directly with subprocess internals. Instead use the poll() method
and returncode to determine if the process has exitted, if it has,
we can shut down the system.

This should resolve the hangs once and for all, famous last words.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>