Add tests and Arbitrary Proxy instance provided by Gabriel in #49.
Merge pull request #98 from archblob/test

Add Respond, Kleisli and Pull category tests.
Polished source code
Fixed implementation of `pass`

The previous version was only applying the passed function to `mempty`, not to
the accumulated log of all events within the proxy.  The fix is to do something
similar to `listen`, storing everything logged up until the end, and then
applying the function to that.
Added `mtl` instances for `ListT`.  Fixes issue #101.
Added INLINABLE pragmas to `unsafeHoist` and `distribute`
Added more rewrite rules
Got `for (yield x)` rewrite rules to fire
Eta-expanded function compositions in `Pipes.Prelude`

This helps the rewrite rule for `for (yield x)` to fire
Added rewrite rules for `Pipes.Core`
Reordered benchmark sections of `pipes.cabal`
Temporarily removed `WriterT` and `RWST` benchmarks

The change to `distribute` caused a performance regression singe it no longer
keeps the accumulator strictly evaluated.

I'm not sure whether I want to fix this or not.  Having a functional `writerP`
is not as urgent as it used to be now that one can combine multiple folds using
`foldl`.  Additionally, I would prefer the uniformity of using `distribute`
everywhere in `Pipes.Lift`.  I think the real solution is for `transformers` to
fix `WriterT`.
Changed default benchmark sizes
Add conditional compilation of a pipes subset to Haskell98.