Iteratee: don't make assumptions on # args to pass

Currently broken for any function bound to a context. Unfortunately we restrict them to 3 arguments.
We should generate an Infinity value with `1/0` instead of relying on the global variable, as we do with `undefined`/`void 0`.