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).
It would be nice to show a failing case as well for completeness:

``` ruby
it "passes and fails properly" do
  obj = Object.new
  def obj.each_with_index(&block); [4, 5].each_with_index(&block); end

  expect(obj).to all(be_an Integer)
  expect { 
    expect(obj).to all(be_odd)
  }.to fail_with(/some failure snippet/)
end
```