Fix a bug where the pairing might get stuck
Fix a bug where the pairing might get stuck

Previously it was possible that the pairing algorithm might get
stuck when the only possible choice for the last match is the
same person. Consider pairings for ['A', 'B', 'C']:
  'A' draws 'B' from ['A', 'B', 'C']
  'B' draws 'A' from ['A', 'C']
  'C' draws 'C' from ['C'] and gets stuck
Now, the candidates are shuffled, a copy of the shuffled list
is rotated by one. Matches are created from elements in the lists
where the index is the same. This creates a maximal cycle
containing all candidates.

o-goroll/scratchpad,o-goroll/scratchpad