Ungreedy "some" and "every"

Parkour::some and Parkour::every both use Parkour::mapReduce, which loop on the entire array.

This branch replaces mapReduce with firstOk and firstNotOk, which might return before iterating on the whole array.