Remove dependency on sh to run script step

Problem

The script step depends on sh, which is used to find the appropriate shell to run the script. (see run_script.sh)

It is unreasonable to assume that every job will have the sh command available, particularly so if the job is running on Windows.

Proposal

Replace the run_script.sh with an implementation written in Go that looks up which shell is available using exec.LookPath or some other means.

The Go script step program should be compiled and embedded into the step-runner binary using the same mechanism as oci/fetch and oci/publish. See make build, and step-runner.go for how binaries are embedded into the step-runner.

Edited by Cameron Swords