[2.0] Fixes and additions for Ruby 2.0 Enumera[ble,tor].

* Move to Kernel, Enumerable their methods defined in Enumerator.
* Reduce some duplication of logic in Enumerator.
* Add Enumerable#chunk.
* Add a mostly complete implementation of Enumerator::Lazy.
* Multiple minor fixes throughout Enumera* to support 2.0 logic.