[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
Config
is 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
Parse
function acts on the open file handle according to the file format (filename ending: ".json5" / ".conf" supported)