Return the exit code in ScriptExecutor

Solving issue #987

Now the exit code from the script in project.json need to be zero to ensure a successful build/pack/restore.
These properties `ExitCode` and `ErrorMessage` actually indicate the last encountered `ExitCode` and `ErrorMessage`. This will get overwritten when you reuse the same `ScriptExecutor` instance again. Should this `ErrorMessage` be instead an `out` variable for this `Execute` function?