make Simulation Run Cache
Builds the optional SimulationRunCacheIfc for an evaluator from eval. Returns null when EvaluationSpec.useSimulationRunCache is false, mirroring the engine's "no cache" convention.
Exposed (rather than kept private) so module-external tests can verify the spec → engine cache mapping; Evaluator does not publicly expose its simulation-run cache, so this is the only direct point of inspection.