* Errors in Generate/Validate print to stderr/exit 1
Generate and Validate exposed exceptions rather than user-friendly
messages when an error occurred. In generate, this could happen for
numerous reasons, but the most likely is a user typing (or guessing) an
invalid generator name. In Validate, an error was exposed if there were
any validation errors in a spec.
New behavior:
* Generate now exposes a typed exception when a generator cannot be
loaded by name. This allows consistent messaging for load failures.
* Generate now presents guidance on failure (check the spelling and try
again). This is purely a usability improvement.
* Validate now writes validation errors to stderr and exits with code 1.
* Improve err messages: config-help/required opts.
config-help now presents same error for invalid generator names as the
'generate' command.
Options which are required, and those which require a value, now present
a user-friendly hint at the error and exit with code 1 (rather than an
uncaught exception).
* Log missing -g error to stderr rather than LOGGER