Check Emacs version at start

I ran into this when I tried to use ghc-mod with Emacs 24.2, and
got a mysterious error telling me that defvar-local was not defined.
Hide `catch` from Prelude
ghc-mod deserves it's own monad

Having to call `findCradle` and `initializeFlagsWithCradle` everywhere
we interact with ghc-mod's API doesn't seem very Haskell-like to me I
think we should provide a Monad that has a run function that already
does all those tedious tasks for us.

The `GhcMod` monad is basically a wrapper around `RWST r w s IO` with an
instance for `GhcMonad`

Having a `Reader` allows us to pass `Options` to runGhcMod and not have
to worry about passing it everywhere, `Cradle` is also stored in the
reader environment on initialization.

Writer and State are just there for future use.

I've included a `toGhcMod` function that turns a `Ghc a` into a `GhcMod
a` this will make it easy to transition everyting to using the `GhcMod`
monad instead of `Ghc` without breaking the build or test suite for
extended periods of time.

Conflicts:
	ghc-mod.cabal
Expose `Language.Haskell.GhcMod.Monad`
Add `add-source-timestamps` to gitignore
note: MonadIO class
Fix #242, ghcPkgList(Ex) on NixOS
spec: Be more forgiving for ghc opts in `getCompilerOptions`
Fix warnings
Merge pull request #237 from bos/check-emacs-version

Check Emacs version at start
Merge pull request #233 from DanielG/dev-pkgs

Make package dependencies consistent with Cabal
Merge branch 'dev-monad' of git://github.com/DanielG/ghc-mod into DanielG-dev-monad
Merge branch 'DanielG-dev-monad'
removing warnings.
To break cyclic import, this patch makes `GhcPkg.hs` independent from `Monad.hs`(refactoring for #244)

This removes `ghcPkgList`, `ghcPkgListEx` and `ghcPkgDbOpt`. I'm not sure
this is a right way to do.
Add MonadIO instance for RWST
Merge pull request #247 from DanielG/dev-rwst-io

Add MonadIO instance for RWST
fixing fails in travis.
fixing comment.
HasDynFlags is provided after 7.6.