[#57004836] get discrete variables working and add simulation ids
Merge tag 'v1.0.6' into 57004836-EnhanceSimulationEngine

Updating EnhanceSimulationEngine with current stable work.
[#57004836] Fix finding of run dir from node modules on macos
[#57004836] Update to use oliver--- branch of swig-v8
[#57004836] Support simulationHours for parallelenergyplus runs
Merge branch 'develop' into 57004836-EnhanceSimulationEngine

Conflicts:
	openstudiocore/CMakeLists.txt
[#53230709] Initial UserScriptJob merging and unit test
[#53230709] Get UserScriptJob merge unit tests executing

Now we need to:

  - serialize the parameters for the subsequent merged jobs
  - update UserScriptAdapter to call the merged jobs
[#53230709] Properly populate sub folders of merged jobs
[#53230709] Merging of UserScriptJobs working
[#53230709] Reduce potential duplicate model parsing
[#53230709] Make all files from merged script runs available

And merge the loaded results.ossr files
Merge remote-tracking branch 'origin/develop' into 57004836-EnhanceSimulationEngine
[#57004836] Fix totalEnergyUse and add debugging
Adding parameter flatoutdir, because this is used for PAT. Review comments/questions for @lefticus:

1. In flatoutdir mode, the RunManager test produces:

0-UserScript/
    1/
        in.osm
    2/
        in.osm
    mergedjob-1/
        in.rb
        user_script.rb
        params.json
        result.ossr
        *test files*
    mergedjob-2/
        in.rb
        user_script.rb
        params.json
        result.ossr
        *test files*
    out.osm
    params.json
    result.ossr
    stdout

Could this be instead something like:

0-UserScript/
    mergedjob-1/
        in.osm
        in.rb
        user_script.rb
        params.json
        result.ossr
        out.osm
        *test files*
    mergedjob-2/
        in.osm
        in.rb
        user_script.rb
        params.json
        result.ossr
        out.osm
        *test files*
    mergedjob-3/
        in.osm
        in.rb
        user_script.rb
        params.json
        result.ossr
        out.osm
        *test files*
    stdout
    stderr

2. I see in the RunManager test that all of the result.ossr files are locatable in the RunManager tree. However, I need to be able to match them up with their original jobs. I understand that optimizeJobTree basically collapses those three jobs into one. Would it be possible to have a "rexpandJobTree" that broke those jobs out again, so that each one has its own JobErrors class that has parsed its respective result.ossr file (and perhaps they all point to the same stdout and stderr files)? Even nicer from my point of view would be if those jobs never disappeared in the first place, but were only merged virtually ... On the other end of options, at the very least, at the end of the process, I could work with just having a separate JobErrors object for each original job.
[#57004836] Fix shadowed variable in energy use calculation
Merge remote-tracking branch 'origin/develop' into 53230709_MergeUserScriptJobs
Merge remote-tracking branch 'origin/develop' into 53230709_MergeUserScriptJobs
[#53230709] Fix merged job use case, add merged details

Fix the ability for merged jobs to execute with flatoutdir enabled.

Add hasMergedJobs() and mergedJobResults() functions to Job, implemented
in RubyJob.
Merge branch '53230709_MergeUserScriptJobs' of github.com:NREL/OpenStudio into 53230709_MergeUserScriptJobs