Optimization for shuffle

dig it or will this have issues with strings in legacy ie?
I was also thinking of meshing this with `isArray`

```
function toArray(collection) {
      var result = itervalues(collection);
      return result === collection ? slice(result) : result;
}
```