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 specs pass in in-memory and local mode. Haven't been able to test cluster mode.

@etorreborre - helpful if we can include in 0.7.