Add support for more than two arguments to std.algorithm.setIntersection

This seems to have always been intended to work, but was left unfinished.
The old documentation, as well as the current entry in the cheat sheet,
claimed it supported any number of arguments.
rework setIntersection