Simplified test code to reduce spurious test failures.
.gitignore
Remove object on clean.
Sort syscall case blocks.
sort headers
minor formatting
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.