Cli tests

Opening this up for further discussion. Closes #450.
Oh, and stdin/stderr.