Optimization for shuffle

dig it or will this have issues with strings in legacy ie?
String case will fail in IE8 for string Object, `Object(string)` and IE < 8 for strings of any kind.

It's the maximum safe representation of a number. See [this post](http://www.2ality.com/2013/10/safe-integers.html). It's been codified in ES6 as [Number.MAX_SAFE_INTEGER](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer) and part of the [ToLength](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength) helper which dictates what an array-like object is.