add Shuffling feature

For the 0.5 release, we only need a simple shuffling algorithm, which is to remove some number of tokens at random.