Fix for #380

Some cleanup/changes to how parameters are read from config

Missing parameters in config now raise a MissingParameterException instead of UnknownConfigException since there might be multiple places a parameter could be initialized from.

Introduced "global" parameters separately from "default" parameters

Added a bunch of deprecation warnings

Soft fail for _get_value_from_config and loops to pull value

Use default_from_config for the defaults for the global configs

Also don't enforce that only one of default and default_from_config is defined. In many cases it's useful to define both