Got the new process module working.

The problem was that any attempt to allocate memory in the child
of a fork() deadlocks, so the toArgz() and toStringz() calls had
to be moved to before the fork().

Also did a bit of cleaning up.
.hh / .hxx, etc.
Merge remote-tracking branch 'upstream/master' into doodle-support
Graham's workaround to keep headers out of ${INPUTS}.