Simplification + optimization of _.reduceRight

Clears up the confusing loop

```
_.each(obj, function(value, index, list) {
      index = keys ? keys[--length] : --length;
```
We can move this above the `while` and test `length < 1 && arguments.length < 2` instead. Then we can get rid of the `initial` variable entirely.