Print command and stdout/err on error

The stdout and stderr (which are merged) are now read
from the created Process instance if the return code
is not 0.
Merge pull request #2648 from joshmoore/in-place-fixes

In place fixes