Change DList's underlying data structure from List to IList.

Since scalaz has IList, it seems to be a better choice than the standard library List for DList's underlying data structure.  Using the original foldRight and map methods were causing OOM with IList however so I moved to something more suitable for how IList works (no OOM or SO now).