Split up Internal into .Conduit and .Pipe
Clean up warnings
Optimized rewrite rule for $$ foldM, $$ fold, and enum $$ fold

This is *not* intended to be a final implementation. While this *is*
optimal, the goal is to have a higher-level helper function which
implements this kind of rewrite rule, and then use that function in all
relevant functions in .List.
Rearrange benchmarks to take advantage of fold rewrite rules
Get lift rules to fire more reliably for liftIO
Demonstrate poorly firing rewrite rules
Add commented-out liftIO/liftBase rewrite rules
Monte carlo: try experimental stream (no fusion yet)
streamConsumer (still not actually fusing)
Implement liftIO/liftBase fusion rules
Apply Codensity transform on ConduitM type.

This greatly improves performance in some cases by forcing
right-associativity. More importantly, it obviates the need for rewrite
rules for many common cases, e.g. yield >>= foo no longer needs to be
rewritten to be efficient. This was especially important, given that
these rules would not fire reliably in do-notation, since do-notation
associates to the left.

Pinging @feuerbach I bet you thought I forgot about this entirely ;)
Fix Data.Conduit.Lazy
First stream fusion that seems to work :)
Add mapSumTB
A little more in Fusion
Start using fusion (demonstrates performance problems)
Some CPP cleanup
Some rule cleanup
Remove investigation FIXME (no performance impact)
Simplified StreamConduit constructors