Add _.indexBy

`_.groupBy` could be used for this as well but I feel like doing this:
`grouped[attr][0]` is kinda ugly.

I think it's quite often that you want to create a lookup table where
you map each object some unique attribute.

If the key iterator doesn't generate unique keys the last value for each
key is used.