Add basic shuffle/randomize functionality

The shuffle functionality isn't really that great right now
but it's good enough to go to beta. It should be improved later.
Merge pull request #22 from aarongreenwald/feature/shuffle

Add basic shuffle/randomize functionality