Issue 190 - Implement groupBy r=millermedeiros

I supposed this could also be `array/groupBy`?
we have an internal method `function/makeIterator_` that binds the `this` value only if needed (better performance) and that also allows you to pass a string like:

```js
groupBy(arr, 'length');
```

so I would replace it to:

```js
function groupBy(arr, callback, thisObj) {
  callback = callback ? makeIterator(callback, thisObj) : identity;
}
```