add :ProjectRun unit test

Note: not yet passing (may pass occasionally in theory), do to a race
condition due to std out/err stream listeners not being added to the
processes until after they have started, at which point they may have
already written to those streams.

refs #354