Generic unique permutation calculation

Derived from Eric Lippert's code, but modified to exclude already-visited
permutations
Prints out cards in each permutation