9bb24283

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Support multi-package/multi-test-suite mutation testing

- covering_tests is now Map Text [TestId] (suite name → tests) instead of [TestId]
  - empty string "" key preserves backward-compat with single-suite setups
  - old JSON array format decodes as Map "" [...] for reading existing files
- New CLI flags: --mutation-suite-name and --mutation-suite-exe name=path
- Coverage mode tags covered tests by suite name and merges incrementally
  into manifest-augmented.json so multiple suites can run sequentially
- Parent spawns one child per covering suite; suites with empty covering
  tests are skipped (avoids running all tests when filter is empty)
- Child filters by --mutation-suite-name to select the right covering tests
- mutationCheck.nix and compileMutationReport.nix accept testSuites list
  of {package, executableName}; old testPackage/testExecutableName still work
configurex86_64-linux