`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 pull request #63 from archblob/benchmarks

Sync benchmarks to latest library state.
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.
Improved beginning of tutorial
Changed unfolds section to Tricks and removed appendix
Added appendix on types
Added 'toListM', 'mapM', and 'concat'
Added INLINABLE pragma to `Pipes.Prelude.show`
Updated documentation
Generalized type of `discard`
Modified benchmark code to work with ghc-7.4.2
Tightened dependencies for benchmark code
Removed accidental CPP pragma
Polished the tutorial
Changed folds to restrict unused return values to `()`

@Peaker convinced me that this was the best approach.