Accept commands via STDIN.

This extracts the code for running commands from a IO into a
Gitsh::ScriptRunner object, and uses that object to run commands from
standard input in cases where standard input is not a TTY (e.g. when gitsh
is run as part of a pipeline).