Specify the check, build and run commands at runtime

Adds arguments for check, build and run
Adds a "shotgun" logger so shotgun logs are distinguishable from normal stdout and stderr
Adds a factory function
Uses io.Multiwriter to write to stdout and stderr
Refactor output buffering to give all commands access to stdout and stderr
Merge pull request #2 from mtibben/master

Adds arguments for check, build and run commands for the hot-reloading