[ refactor ] termination checking pragmas

- Moved TerminationCheck from Concrete.Defs to Syntax.Common
- unify NoTerminationCheckPragma and MeasurePragma into
  TerminationCheckPragma carrying a TerminationCheck
- TerminationCheck rather than Bool for MutualInfo
Added NON_TERMINATING pragma

Like NO_TERMINATION_CHECK it disables termination checking for a function, but unlike NO_TERMINATION_CHECK, NON_TERMINATING functions are not treated as terminating by the type checker.
Make C-c C-n at top-level reduce NON_TERMINATING functions
[ issue-1225 ] Fixed by restricting Alex versions

Tested with GHC 7.0.4 and GHC 7.8.2.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/full/Agda/Syntax/Concrete.hs
	src/full/Agda/Syntax/Concrete/Pretty.hs