[feature] Support JSON5 configuration input files
This MR introduces JSON5 parsing functionality to Config while still supporting the previous format and parser.
Changelist:
- Internal data structure in
Configis changed from an STLmap<string, string>to aJson::Value, as the latter is the more expressive one. - Verifying the file's existence and opening it is done upon class construction (RAII).
- Templated
Parsefunction acts on the open file handle according to the file format (filename ending: ".json5" / ".conf" supported)