Script support

Run gitsh scripts by passing the path to a script as an argument to gitsh, or by using `#!/usr/bin/env gitsh` as a sh-bang line.
After discussing this in person, you're absolutely right that these can be handled in the same way as comments: a comment is turned into a `Gitsh::Comment` object which responds to `#execute` but does nothing. If we renamed `Gitsh::Comment` to `Gitsh::NoOp` or similar then we could use this class for both comments and blank lines.