Optimization for shuffle

dig it or will this have issues with strings in legacy ie?
maybe add a test that the result contains the characters of the string:

Smth like:
```js
ok(_.isEmpty(_.difference(string.split(''), actual)));
```

This ensures that `undefined` or smth didn't slip in which would suggest lack of string support.