c19f1819

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

Store source file path in MutationRecord; cache source read per module

- Add mutRecSourceFile :: Maybe (Path Rel File) to MutationRecord, serialized
  as a plain string in JSON with backward-compatible optional decoding
- Read the source file once per module in runInstrument (via ms_location from
  ModSummary) and store the lines in InstrumentEnv, so all mutation sites in
  a module share the same read instead of re-reading the file per site
- formatMutationLog uses mutRecSourceFile directly instead of reconstructing
  the path from the module name