Runs the code generator. The optional optionParsers can be used to
change how command line options are parsed (see parseGenerationOptions
for details), and config can be used to override where
generated files are created and how imports between generated files are
constructed (see OutputConfiguration for details).