Move waitpid handling to kernel.

ptrace on kernel version 2.5.46 (the minimum we support now) correctly
handles the process hierarchy.

This also fixes a bug where children would never be reaped (because only the
actual process parent can reap the child). The old ptrace API (PTRACE_TRACEME
and CLONE_PTRACE) had the nasty side-effect of the tracer reaping children.
Instead, using PTRACE_ATTACH and PTRACE_O_TRACECLONE means that tracee parents
must appropriately reap their children. Parrot can no longer do it itself. [In
any case, we don't want to implement process waiting for tracees anyway since
it has historically been very bug-prone.]

Fixes #503.
Remove unnecessary process states.
Don't hook getppid.

This is also no longer necessary.
Merge branch 'master' into parrot-wait.

Conflicts:
	parrot/src/pfs_process.h
Merge pull request #504 from batrick/parrot-wait

Pass wait4/waitpid to the kernel