(PUP-939) Add ability to filter an enumerable type.

This adds the ability to filter the sequence of elements produced
by an enumerable type (just like for array and hash).
(PUP-939) Update documentation of filter function.

Word-smithing.
(PUP-939) Add support for enumerable type in reduce function.

This adds support to perform reduce on an enumerable type (Integer
range).

This also corrects a typo in an error message (said 'collect' instead
of 'reduce').
(PUP-939) Add support to iterate over enumerable type in map function

This adds support to iterate / map an enumerable type (Integer range).
(PUP-939) Add support for enumerable type to slice function.

This adds support for iterating / slicing an enumerable type (Integer
range).

This also corrects the size calculation done in Integer range (off
by one since it is an end inclusive range).
Merge pull request #2163 from hlindberg/pup-939_enumerable-types-support

(PUP-939) Add enumerable types support to iterative functions