(#11331) Make lambdas optionally available on all function calls.

This makes it possible to invoke foreach as:
foreach($a) {|$x| ... }

The only caveat is that a parentheses-less call must have at least one
argument. This is not allowed:
foo {|$x| }

If someone implements a function that takes only a lambda that call
would need to be written as:
foo() {|$x| }

This since it is not allowed to pass a lambda as an argument (since this
would require implementing real closures).
Merge branch '11331-add-foreach' into 18764-enumerable-methods