Split ExecCommands

The main reason for this change is to allow us to get the *os.Process spawned by exec.Command. This will allow us to kill the process if need be.

The RunCommands() function is preserved as a shorthand.