Command line mode

Opening new PR to replace #71
@davidfowl @abnanda1 
We should probably revisit everything relating to tasks and logging in the near future. We've been abusing the async pattern for a lot of 'fire-and-forget' logging, but to me this just seems to muddle the threading model.