[ fix ] set funTerminates directly for definitions with pragmas

We look at funTerminates to decide whether to unfold a definition
during type checking. However, before termination checking
funTerminates is unknown (Nothing) in which case we allow unfolding.
We really shouldn't, but that would require running the termination
checker after each definition (or clause) instead of after each
mutual block. What we really shouldn't do (which this fix addresses)
is ever unfold a definition that's been marked {-# NON_TERMINATING #-}.
Merge remote-tracking branch 'origin/maint-2.4.2'
[ make ] allow setting $CABAL_OPTIONS in shell to add build options to cabal