Complete shuffling functionality

The functionality works now and creates a second object that is a
shuffled copy of the original object.
Merge pull request #5 from thefenry/functional-code

Complete shuffling functionality