# Functions
KillProcess tries to kill the process being ran by RunParams We need this convoluted implementation because everything ran under the bash script is spawned as a different process and doesn't get killed by a regular process.Kill() For details see https://groups.google.com/forum/#!topic/golang-nuts/XoQ3RhFBJl8.
RunCommands executes the Commands specified in the RunParams using powershell on windows, and '/bin/bash -s' on everything else, passing the commands through as stdin, and collecting stdout and stderr.
# Variables
ErrCancelled is returned by WaitWithCancel in case it successfully manages to kill the running process.
# Structs
ExecResponse contains the return code and output generated by executing a command.
Parameters for RunCommands.