Created by Julien Palard

Simulate a perfect suffle of a deck of cards.

A perfect shuffle of a deck of card is splitting a deck of cards into equal halves, and perfectly interleaving them.

Perfectly shuffling `[1, 2, 3, 4, 5, 6]`

gives `[1, 4, 2, 5, 3, 6]`

.

(We consider that a deck of cards has an even number of cards.)

You'll expose a `perfect_shuffle(deck)`

function, perfectly shuffling
the given iterable.

Did you know that if you shuffle 10 times a deck of 1024 cards, the deck returns to its initial state ? It's probably a good way to test your implementation.