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).
Since we no longer check if it includes `Enumerable` I'm thinking this method is misnamed.  What do you think about changing it to `valid_collection?` or something similar?