refactor(logger): add a logger to handle all printing and writing to stdout

@hankduan could you take a look? Doing this as the basis for having different logging options (e.g. warn, output only if in troubleshooting mode).
Leaving it open to maybe having other options that we glean from the config - I was thinking, for example, that we might use `config.resultJsonFiles` in here or something.