Add the process::wait_any() function

This new function is the equivalent of wait(2): awaits for any subprocess
to exit.  We will need this to implement the parallel execution of test
cases.
Add the process::exec() function

Generalize the private cxx_exec function in the process::child module and
make it a public process::exec top-level function.  We will be using this
in the implementation of parallel test program execution.  And, regardless,
it is nice to be able to test this function independently.
FIXUP: Add executor module