Use Symfony Process for running commands.

Allows for capturing stderr, timeout for runtime and time without
output.

Ensures that the environment doesn't get polluted.

And a few minor fixes.