Script execution result is returned as the ScriptCs.exe exit code

This PR propagates script's return value to scriptcs.exe's exit code. It allows the script to set its execution result.

The algorithm is the following:
- If a script returns a value of type int, then this value is used as an exit code.
- If a script returns null or value of type other than int, then exit code is 0.
- If a script throws an exception, then exit code is -1.