Iterator for fixed number of set partitions

I wrote the following extension of combinatorics.jl because I thought I
needed it, altough I ended up not using it. But I guess it is useful to
add to the standard library. The standard library already has
partitions(n,m) to return an iterator of all sets of m integers that
sum to n and partitions(s) to generate all partitions of an arbitrary
set s into an arbitrary number of subsets. Similarly, partition(s,m)
for some arbitrary set s returns an iterator over all partitions of s
into exactly m subsets. The number of possibilities is given by the
Stirling number of the second kind, which I used as a check to make
sure that my implementation produces the correct result (I have no
prior experience in programming these kind of combinatorics).