Add some tests on Ranges to the Enumerable tests
Fix Enumerable#middle for non-Array objects
Fix Enumerable#occurences for Enumerables that don't implement #each

However, an implementation of #each_with_index is required (as it is in Ruby's
Enumerable mixin).