Change to use MonadCatch as a superclass of MonadFastCGI.

This lets us remove all the exception forwarding stuff. Even the instances
for the concrete FastCGI type are provided by Control.Monad.Catch's instance
for ReaderT.
Use TChan for the request channels to avoid a possible race condition
in non-blocking mode.

This also avoids the deprecation warning for isChanEmpty.
Bump version number to 2.0.0 due to the incompatible changes to the
exception-related part of the API.  Also add dependencies on STM and
the 'exceptions' package.