Switch to ghc-7.8.2.

I upgraded ghc to version 7.8.2 and had to make some minor changes in
order to get he package building again:

- upgrade SafeSemaphore to 0.10.1
- set the lower bound to 2.7 for QuickCheck
- changes to adjust to QuickCheck 2.7.3:
  - use ioProperty instead of morallyDubiousIOProperty
  - use Property instead of 'Gen Prop'

Before QuickCheck 2.7, Property was defined as

 type Property = Gen Prop

but now it is a newtype, so 'Gen Prop' and 'Property' are no longer
equivalent.

QuickCheck 2.7 also deprecates 'morallyDubiousIOProperty' and replaces
it with a new 'ioProperty' function. Since this doesn't exist in
versions prior to 2.7 and I wanted to fix the deprecation warnings,
I've bumped the lower bound on the QuickCheck dependency.

Both Property and ioProperty are exported by Test.QuickCheck, so I've
also been able to remove the imports for Test.QuickCheck.Property in
the places that use ioProperty.