Fix all matcher to work with any object that responds to each_with_index...

rspec/rspec-rails#1170

Commit 5b4dc0ca6ad2ed11a7e5100854c7b4022010382c introduced explicit
checking to ensure that the all matcher is run only on Enumerable
objects. This broke the matcher for objects that behave like Enumerable,
but don't include the Enumerable module (e.g. Rails
ActiveRecord::Relations).
Thoughts on using `def obj...` over `obj.define_method`? This obviously isn't any sort of blocker, more an inquiry on style.