Rename the Array class to be the Enumerable module
Rename #product to #numeric_product to avoid conflicts with Array#product
Add Enumerable#empty?
Add Enumerable#length
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).
Alias Enumerable#size to Enumerable#length
Merge branch 'feature/extend-enumerable' into develop