0ffe70ac

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

Consolidate mutation settings into Maybe MutationSettings sum type

Replace the 14 flat settingMutation* fields on Settings with a single
settingMutation :: Maybe MutationSettings, where MutationSettings carries
a mutationMode sum that selects one of four sub-records (coverage parent,
coverage child, mutation parent, mutation child).  This makes mutation
mode invariants type-level: the child-only options (output file,
baseline file) sit on the child record, the parent-only options
(report dir, suite exes, child mem limit, jobs, retry) sit on the
parent records, and exhaustiveness checking now catches missing modes
in the dispatcher.