Add :raise_error option to run action

Passing :raise_error => true to a run action will raise a
`CommandFailedError` if the command has a non-zero exit status.

This is useful for replicating bash's `set -e` functionality, common in
shell scripting.

    run("ls no_such_file", :raise_error => true) # raises
CommandFailedError