This commit adds a new option `abort`, which when configured, will exit
the Vagrant process completely. If set to `true`, it will exit cleanly
with exit code 0. Otherwise, the exit code can be configured.
Prior to this commit, the run trigger option wouldn't catch for failures
outside of the #Subprocess.execute raising exceptions. This commit fixes
that by inspecting the exit code result of the subprocess and using the
new `exit_codes` option to determine how to move forward with the
trigger.
`suspend` action is not listed, even though it can be used and it works.
```
$ vagrant --version
Vagrant 2.1.1
```
```
config.trigger.before [:suspend] do |trigger|
trigger.name = "Before suspend"
trigger.run = {inline: "..."}
end
````
I either got:
`syntax error, unexpected ':', expecting '}` or `wrong number of arguments (given 1, expected 0) (ArgumentError)` until I added the `=` in.