Reverse method
Reverses the order of the enumerable.
The enumerable is iterated over and stored in a list. The resulting enumerable is the product of then iterating over that list in reverse order.
Implementation
Enumerable<T> Reverse() {
return ReverseEnumerable<T>(this);
}