Use jsonschema to validate configuration
Description
This MR adds a jsonschema (written using YAML) defining the structure of the BuildGrid configuration, and uses it to validate the configuration when starting a server.
It also adds jsonschema validation of each of the components parsed by a custom yaml tag in parser.py
. This ensures that config is sane and provides errors that are more useful than simply a traceback when the config is bad.
Issues addressed
Addresses #262 (closed) Addresses #282 (closed)
Edited by Adam Coldrick