Wrote failing high-level test.
Add matchers for high level test.
Make camel case default instead of title case.

I don't like my passwords to have a capital first letter.
Chomp lines read from STDOUT.
Make first expectation pass in high-level test.
Add defaults and unfinished class names to bin.
Add PasswordGenerator class.
Make Password behave like a String.
Add the HeadAlgorithm.
Add Dictionary class.

Also add a small English dictionary.
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.
Close files after using them.
Read files lazily, not upon instantiation.
Don't read already extracted data from files.
Handle empty dictionary checking in Dictionary.
Minimize exception declarations.
Init algorithms with dictionary and min_length.

Currently only applies to HeadAlgorithm.
Do more interesting check for Dictionary#words.