Added settings for log levels and util for run logging.

Replaces all prints not directed at files with uses of the new log utility.
Fixes for scratch containers to include logging settings, does not set WARN
or INFO in order to keep tight control of messages.
Addition of INFO logging for phase transitions. Some tweaks were needed to
correctly set log levels during unit tests. Induces some DRY violations in
the test suite.
Added exception handling for ini parsing failures.

SALVE now accurately reports the results of a parsing failure.
There is no logging before log_level is set.

Also, suppressed INFO output during tests.
There was an instance of logging taking place during config loading
as a result of state transitioning. Since the distinction between
"STARTUP" and "CONFIG_LOADING" is not particularly large right now,
the simple solution is to remove the CONFIG_LOADING state.
Added a verbosity setting and defaults for globals.

Although sensible defaults are specified through the default_settings.ini file,
these are exposed directly to the user for modification. It is safer, therefore,
for there to be a set of "true" defaults underlying these, which are set when
values are not specified.
Added min_verbosity constraint to INFO logging. Verbosity levels are adjustable
and modify which messages are seen.
Merge branch 'feature/log-control' into dev