Added Collection::partition.

Splits a collection into a pair of two collections; one with elements that
match a given predicate, the other with the elements that do not.