RLE / RunList

This is a Haskell module to support Run-Length Encoded lists, together with some tests. It's only a few lines of code, but it's been pretty carefully tested, and it's pretty fast for Haskell; it will encode or decode about 20M elements per second on my fast box.

Thanks much to Jamey Sharp, Josh Triplett, and Jules Kongslie for help with the optimization.

This is version 0.2, which is on its way to becoming a more complete implementation of the Data.List interface. I found some code Jamey and I wrote that should get us started.