Redo output collection when executing build command.

Rather than getting a spawned shell instance to redirect
standard error to standard output, handle this within Integrity
via forking. This should make Integrity get error output
when the generated command fails to be parsed by the shell.
Check that commands execute successfully in the test suite