Added the ES5 functions Array.prototype.filter, .every and .some

The functions `Array.prototype.filter`, `.every` and `.some` invoke a callback with the same signature as that used by `.map` and `.forEach`, albeit with slightly differing loop behaviour (`.every` and `.some` may terminate the loop early, and `.filter` can create an array that was smaller than the original).

This patch updates the helper function for `.map` and `.forEach` to add support for the missing functions.