[#64719950] [#64720032] Initial RunManagerWatcher

Captures and makes available every signal that either RunManager or a
Job can produce.

Also watches the RunManager it's constructed with for additional jobs to
be enqueued and watches those jobs as well.
[#64720032] RunManagerWatcher working and tested via Ruby
[#64719950] Get runWorkflow(json) functionality compiling

It compiles, but is completely untested at the moment.
[#64719950] JSON Workflow specification working

Built by porting run_openstudio_workflow.rb to C++ and commenting out
the bits that were unused by the input files Nick provided as examples.

The test (RunManagerTextFixture.RunWorkflowJson) loads and executes a
JSON defined job workflow from the resources folder, using the generated
ExampleModel.

Also, regarding [#64720032] the RunManagerWatcher was enhanced to
provide a "treeFinished" callback which is executed exactly once when an
entire job tree finishes.
[#64719950] [#64720032] Fix windows build errors.
Merge pull request #850 from NREL/64719950_64720032_AssetScore_RunManager_Support

64719950 64720032 asset score run manager support