Don't exit inside non-CLI related classes.

Raise exceptions instead so that CLI-related classes can handle the
exiting.
Don't always silence STDERR and STDOUT.

Extract this functionality into helper methods.
Extract the CLI procedure into CommandLineOutput.

CommandLineOutput takes over handling of exit codes from Layout and
Dictionary.