Fix Knuth shuffle

randomly noticed while browsing the code -- switching each element with a random element of the entire array isn't a random shuffle. see http://stackoverflow.com/a/7291502

@feross