added compositing of enumerators and iterators

Added a composition mechanism for composing and inner and outer enumerator.
The functionality is duplicated in the iterator class; however, it requires an
enumerator for the inner iteration.