watchdog improvements in the face of corruption.

There were a few cases where corrupt state would cause the
watchdog to hang, looping sending kill(0) to child processes,
never sending SIGKILLs.

Instead of bailing kill_all_kids when we encounter corruption
detected in reap_dead_kids, we do things in two phases.
Reap the dead children first, and then if we continue to find
corruption in the pid list, just ignore, and send kills to any
children in the list that look real.