warning police: name userCodeDef's argument defValue instead of def
Bump version to 0.12

This is to make contrib build failures resulting from by data-default
lead people to do the right thing: update xmonad-core.
derive Applicative instance for Query
avoid warnings from missing Prelude.catch in ghc>=7.6
move library part to src/
OPTIONS_GHC is the preferred pragma name
hack to avoid crash when fewer workspaces than screens (#543)
update testsuite (mostly due Jesper Reenberg)

* use quickcheck2
* run them using cabal's test-suite field
* split up Properties into separate files
clean up cabal file

We don't support ghc-6.6 anymore, so no need to include this split_base stuff.
updated hpc
add forgotten tests back
put hpc reports in dist/hpc/
run more tests (and add a couple)
make hpc report cover the testsuite too
add some more forgotten properties
update README
note -fno-warn-unused-do-bind in STYLE
add missing files to sdist
remove unnecessary CPP
make cabal test show a FAIL when at least one test fails