c0b2f0a5

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

Add --skip-th-splices flag to mutation plugin

Yesod/Persistent codebases produce TH-expanded code that lives in the
HsExpr AST as 'XExpr (ExpandedThingTc orig expanded)' where 'orig' is an
OrigExpr wrapping the unexpanded 'HsUntypedSplice' or 'HsTypedSplice'
node.  Mutations recorded inside the expansion point at the splice's
source location and rarely correspond to anything testable, so they
inflate the timeout and survivor counts without informing the user.

The plugin grows an opt-in --skip-th-splices CLI option that, when set,
leaves splice expansions un-instrumented.  Off by default to preserve
current behaviour for projects that don't have this problem.

mutationCheck.nix and addManifest.nix grow a matching 'skipThSplices'
argument that wires through to the plugin flag.