Make Options class more single responsibility.

Let it deal with option parsing and validation, and then a minimum of other things.
Refactor long method Options#parse.

Extract add_formatting_options and add_boolean_flags. It can be good to keep related options together; both in the code and in the help text. Admittedly, boolean options are not closely related from a user's perspective, so the rearrangement of them in the help text is not a goal in itself. It follows from the code changes.
Merge pull request #601 from jonas054/refactor_options

Refactor options