Use generation options namespace for generated classes.
All arguments are now named instead of a mixture of named and positional.
Options can be loaded from a file as well as being specified directly on
the command line.
Merge branch 'target_ns'