Add stratify methods to DList.

Implement 'stratify' and 'stratifyWeighted' on DList. 'stratify' is a
generalised version of 'partition'. Add specs that leverage ScalaCheck
to vary the generated DLists as well as the number and relative sizes of
stratums/partitions.
Added the new stratify method. Merge commit '0e3fd23'
small code review change on the stratify method. Fixes #272