changelog.
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.
Bump hspec dependency, should fix #236

`hspec-discover --no-main` was introduced in 1.8.2
Merge pull request #238 from DanielG/dev-hspec

Bump hspec dependency, should fix #236
Generate ghc package.cache before running spec
Correct check-packageid/cabal.sandbox.config.in
Add some test data

..for testing behaviour with multiple versions/ids of packges being
available
Add package.cache to .gitignore and make .cabal-sandbox absolute
Add cabal file to `duplicate-pkgver` test data

It's not really valid but enough to make ghc-mod happy, without it
findCradle doesn't work properly and without the empty `library`
sections it crashes even.
Add test data to Extra-Source-Files
Add `fromInstalledPackageId`
Factor out `readProcess'`
Add `withDirectory_` to Utils
Parse cabal `setup-config` to get depencencies
Fix failing test
Add UtilsSpec
Add `cabal` to PATH in travis script
Remove test/*/setup-config before spec
Cabal needs empty 00-index.cache and 00-index.tar in sanxbox
Hide `catch` from Prelude