used shuffle() to shuffle in shuffled()

No need to have two different implementations of the Fisher-Yates shuffle -- this changes .shuffled() to call .shuffle() on the unshared copy of self.