By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Mutation: per-mutation mitigation hints + binding name in manifest & report
Replace the operator alternative 5-tuple with a MutationAlt record carrying
an extra optional mitigation message (mutAltMitigation), so an operator can
explain how a mutation it produced may be mitigated. All operators are
converted; only SwitchFunctionArguments sets a message (pointing at
skip-calls-to for the symmetric-function case).
Add two optional fields to the manifest record (and the augmented manifest):
* mitigation -- the operator's hint, carried through to the report.
* binding -- the enclosing top-level binding name, threaded through
InstrumentEnv during instrumentation.
The mutation run report now prints, under each surviving mutation, the exact
disable annotation for it ({-# ANN <binding> ("DisableMutation: <Op>" ...) #-})
and any mitigation hint, via the new survivorMitigationLines.
Bumps sydtest to 0.26.1.0 (new export, report output) and documents the
plugin changes. Goldens regenerated; example gen specs unchanged (all swap
mutants still killed).