(#17371) Re-initialize settings metadata after run_mode determined

Currently metadata for settings (e.g. mode, owner) is initialized during
parsing of the config file, at which point the run_mode isn't known.  The
initialization loops over each section of the config and since one of the
sections is determined by the run_mode, this means it doesn't get
searched. Setting file metadata inside a section such as [master] has no
effect.

This patch causes the setting metadata to be set twice - once during early
startup before the run_mode is known (for settings used globally) and
again once the run_mode is known so that configuration in specialised
sections take effect.

Overrides PR #1316