Do not allow a process to reap an orphan (a child currently being
traced by another process such as a debugger). The parent process
does need to check for matching orphan pids to avoid returning
ECHILD if an orphan has exited, but it should not return the exited
status for the child until after the debugger has detached from the
orphan process either explicitly or implicitly via wait().
Add a test for for this case.
Another note: I found it a bit odd that KERN_PROC_PID fails for zombies
rather than returning a valid kinfo_proc with ki_stat == SZOMB. All
the other KERN_PROC_* sysctl handlers will return zombies, but not
KERN_PROC_PID.