Assert on package contents.

Also assert on using option() to define flags by convention.
Assert on defining a command tree.
Rename required to optional.
Assert on setting default values.
Assert on converter and default values.
Assert on setting optional by convention.