The command-line configuration is getting a little out of hand, so we're adding the ability to read config files.
Short description of the changes
Add a Global section to config
Add --writecfg flag to allow writing the actual configuration to a YAML file
Add --config to allow reading config out of a YAML file
Add all the decorations needed to process this properly, including identifying parameters that should not be loaded from (or written to) a config file.
Make it so that additional fields also work to be specified in the config file
Various changes to make it all work (like parsing the fields)
Which problem is this PR solving?
Short description of the changes