Clean up even number generator

While it's fun to treat data "persistently" and never throw anything away,
it's also rediculously stupid.

Also noted: iterators generated by filter() are not considered proper
first-class list-y collections.  They have to be cast as lists for each
.__item__(.__next__) instance to be consumed.  Would ask why, but given
that this is Python, digging into why consumption of a sequence (even
when its members are assumed to be optionally mutable) isn't possible is
probably slightly unwise.

Mr. Wu: Why can't I just pass an iterator-type object instance into
another single-item-in-a-sequence-at-a-time-comprehension function like
map()?  In the last language I used to support functional nomenclature
(map, reduce, filter, etc), anything consumable by those functions had to
implement a sequence interface, which seems nearly identical to Python's
iterable interface, it just mandates that data be persistent and
immutable.  So why, if all that's necessary for a sequence in Python to be
comsumed is that it implement __iter__() and __iter__().__next__(), are
iterable object instances not "first-class" in the language?  What does
list() provide that an iterable object does not?