shuffledIterator - iterate over list in random order (but each exactly once)