Fix findLastIndex to stop at zero index

Before this fix, `array/findLastIndex` would iterate to the `-1` index, which of course is undefined in the array. This actually still passed the tests. I added more comprehensive tests to catch this and fixed `findLastIndex`.

This bug showed up when trying to filter on object properties, for example `findLastIndex([ { a: 1 } ], function(v) { return v.a === 1; });`, since it cannot get the `.a` property on undefined.