fix issue #8342

Unions with infinite elements now interleave.
Uses the roundrobin recipe from the documentation for itertools.
-> if not any(set.is_FiniteSet for set in self.args):

I know the issue talked about not doing this if there is a FiniteSet, but why?