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

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