(PUP-2755) Move iterative functions to new api

This moves the iterative functions each, map, reduce, filter, and slice to the new function.
A utility module was added for shared behavior (included in the functions).

This also removes the function stubs for old / renamed iterative functions as these stubs have played out
their role, and it seemed pointless to move them to the new API.
Ok, this is a bit more of a discussion than I want to have here. I've opened [PUP-2794](https://tickets.puppetlabs.com/browse/PUP-2794) to track it. I think we should drop the special support for `|*$x|`, however.