Fail deployment on first task error

Related to #79 

The changes in this PR will abort a deployment if any command ran through `execute_and_log` fails to return a successful status code. On failure, the local log output will be uploaded and the deployment set to a failed state.

This prevents a deployment from continuing if a git command fails to complete. We're also using an NPM provider and this aborts the deployment if any `npm install` errors occur.