Updates for base-4.7.0 (GHC 7.8)

This adds the new `withMVarMasked` and `tryReadMVar` functions.  They seem to work in GHCI, but I haven't tested them extensively.

This also changes which modules are exported for GHC 7.6 - as `Control.Concurrent.QSem.Lifted` and `Control.Concurrent.QSemN.Lifted` weren't being exported - even though the corresponding modules haven't been removed from any published version of base.

I've tested compilation with GHC 7.4 and GHC 7.8.
I think I removed `QSem` and `QSemN` when base >= 4.6 because they are deprecated in [base-4.6](http://hackage.haskell.org/package/base-4.6.0.0/docs/Control-Concurrent-QSem.html).

I've no problem enabling them there but I guess we do need to disable deprecation warnings then using:

`{-# OPTIONS_GHC -fno-warn-deprecations #-}`