caching: initial implementation
caching: invalidate when pragmas change
caching: invalidate when sections change
caching: move support code to its own module
caching: better names for functions
caching: write the log even when an exception is thrown
caching: move pragma check after scope checking
Merge branch 'master' into caching, and refactor caching.

Conflicts:
	src/full/Agda/Interaction/CommandLine/CommandLine.hs
	src/full/Agda/Interaction/Imports.hs
	src/full/Agda/TypeChecking/Monad/Base.hs
caching: cache only during an "Interaction"
caching: cosmetics
caching: use finally_ to not reset the state
[ caching ] fixing Eq instances
Merge branch 'caching'

Conflicts:
	src/full/Agda/Syntax/Abstract.hs
Merge branch 'master' of https://github.com/agda/agda