`await` and `yield` now use `Consumer'` and `Producer'` type synonyms
Updated documentation
Re-exported polymorphic type synonyms from the `Pipes` module
Updated haddocks for type synonyms
Trimmed documentation from `Pipes.Prelude`
Merge branch 'master' of github.com:Gabriel439/Haskell-Pipes-Library
Guarded `reader`, `writer`, and `state` implementations with CPP

In order to support `transformers-0.2.*` you need to support `mtl-2.0.1.0`,
which does not have the `reader`, `writer`, and `state` methods.  There are two
solutions:

* Remove the methods and use the default implementations which might be slower.

* Keep them and guard them behind a CPP macro to only compile them in if the
`mtl` version is greater than 2.1.

I went with the latter version for efficiency.