improve configuration process

Sketch of the new configuration process:

  • use Properties to store and read the configuration parameters.
  • read external configuration properties file (either local path or via command line argument).
  • provide a default configuration as resource within the executable jar.
  • if there is no external configuration file present, write out the default values.
  • re-read properties when file changes; only between module runs (this is after the implementation of the scheduler, #19018 (moved))
  • use enum as keys

Questions to decide:

  1. property format: XML or plain properties (the latter might be more readable)
  2. default value settings