The persistent format of TCKs in git repositories was defined as part of !3286 (merged). This MR adds the following to
- allow input to be read from stdin;
- allow import from JSON;
- allow export to JSON;
- write a manifest for a git repository;
nlohmann::jsoninstead of custom
- slightly change the format of git commit messages to contain only the metadata required to create a manifest;
- factor some of the code out into
HltServicesLibso it can be used downstream to load configurations from git without running the executable;
- allow TCKs to be added to an existing repository.
The JSON that is used to import a configuration is expected to include a JSON manifest in the pre-existing format under the "manifest" key.