2.0 Enumerable#size compatibility enhancements

Update enum constructors for 2.0, and ensure in a number of cases that
we keep the size when we enumeratorize (note: there's still a number
of other enumeratorize calls which will be addressed in a later commit)