[ refactor ] No longer export TC.Free.freeVars'
[ refactor ] put free variable computation into Reader monad
[ refactor ] Free variable analysis not collect bound variables temporarily any more.

Library benchmark is neutral.  I had hoped for some speedup.
Merge branch 'maint-2.4.2'
[ Utils ] More general version of trampoline.
[ rename ] runTerm to runTer
[ refactor ] Introduced terRunDefault in Termination.Monad.
[ comment ] call graph extraction needs refactoring!
[ refactor ] Import overloaded null.
[ opt ] When termination checking a single def, only construct reachable
part of call graph.
[ test ] for use of conflicting termination pragmas in mutual block.
Correct error when using --safe and NON_TERMINATING.
[ test ] for using --safe and NON_TERMINATING.
New pragma TERMINATING (synonym of NO_TERMINATION_CHECK).

Complements NON_TERMINATING.
[ test ] for trying to use TERMINATING with --safe.
[ test ] for TERMINATING and NON_TERMINATING
[ CHANGELOG ] for new pragma TERMINATING.
[ new ] CallGraph.targetNodes.

Needed for
2416730 [ opt ] When termination checking a single def, only construct reachable part of call graph.
[ fix ] Use freeVarsIgnore instead of freeVars'.

Belongs to
c5310fd05e4170bd323a19044315a6486e713a38
[ refactor ] No longer export TC.Free.freeVars'
Bump text upper version bounds