3.0 model bake

This is a first attempt at updating `bake model` to work with 3.0. There are a few notable changes:

* No interactive mode - most code generation tools I've used don't support interactive modes as the entire goal is to be fast, which interactive modes are not. Supporting the interactive mode was also a huge pile of complicated code.
* More new options - Because interactive mode was removed, new options were added.

The generated code is not :100: % perfect yet, but I'm planning on revisiting all the templates and implementing an alternative delimiter as previously discussed with @AD7six.

Refs #2485