Verification now exits with appropriate exit code
Improved test coverage

test_program_flow() tests the package as if it were being run from the
command line using CliRunner.