Worker Configuration
Currently workers are created with the following:
ClockworkWorker* worker = new ClockworkWorker();
This uses a bunch of hard-coded defaults. Specifically it will allocate a 10GB GPU cache, use 512MB GPU workspace memory, listen on a pre-defined port, and so on.
Ideally most of these parameters are part of a configuration with sensible defaults.
This task involves finding a suitable modern configuration library for us to use, abstracting a ClockworkConfig, and using the config.