We now install vendor libraries into includedir/fourdst/vendor to avoid conflicts with user installed libraries. Note that currently this only applies to headers and not compiled shared libraries
BREAKING CHANGE:
A bug was discovered in glaze which prevented valid toml output. We have
switched to toml++ and reflect-cpp. The interface has remained the same
so this should not break any code
YAML is a horrid format with far too many edge cases. We have switched
to TOML. Further, we have completly reworked the framework so that
1. There is no longer any global config state. Config objects now must
be passed between scopes by the caller. This will introduce some more
friction but whill also make order of initialization clear
2. Config objects are now strongly typed and there is a single sourth of
truth for any given config object baked in using the some struct.
At many points in the code we may want configurable options, the Config class usses a yaml file to make this easy. It also allows for namespace references "opac:lowtemp:file" etc...