[action/puppetfile] Raise error on nonexistent Puppetfile
[action/puppetfile/purge] Use correct trace variable
[action/puppetfile/check] Rescue all errors raised while loading
Merge pull request #259 from adrienthebo/issue/1.4.x/gh-254-puppetfile-install-exit-code

(GH-254) Improve puppetfile action error handling
Merge branch '1.4.x'
[subprocess] Remove unused IO class, reorder runners
[subprocess] Reorganize namespace
[subprocess/posix/runner] Clean up pipe generation
[subprocess/posix/runner] Log exec failure, add exit code
[util/platform] Add #posix? method
[subprocess/posix/runner] Add spec coverage
[subprocess/runner] Remove #start and #wait

The start and wait methods have strange semantics when the given command
fails to execute, and are not used. They can be removed.
[subprocess/runner] Remove unused pid and status attributes
[subprocess/runner] Remove unnecessary methods

The Runner base class implemented a number of methods that were also
implemented on Result objects, which had odors reminiscent of feature
envy. This commit removes those methods and changes all calling code to
use the methods on Result instead.

This methods
Remove leaky abstraction for command runners
[spec] extract subprocess runner shared examples
[runner/posix] Deduplicate process launch handling