Description
`os::system` and `os::spawn` return the process exit code or -1 on failure. However, on Windows, -1 is a valid exit code (e.g. `os::system("exit -1")). This can cause spurious aborts by Mesos when a process, e.g. Docker, exits with -1 (expectedly) but Mesos thinks it failed to launch. It's impossible to distinguish a failure from a process returning -1, so those calls need to return something like a `Try<int>` or `Option<int>` to distinguish the error case.