add 'error_on_failed' option to shell action
extract method on ssh action
decode EnvironmentError message instead of OSError