Fix that #proxy_association is nil for association extensions when chained

i.e. when the extension method is not called directly on the extension.

This meant that #proxy_association would be nil if your association
extension methods were called atop a named scope.

With the change we rely on CollectionProxy's own definition of #scope,
which properly sets #proxy_association.

More evidence here: https://gist.github.com/Empact/5865483
```
Active Record 3.2.13
-- create_table(:users, {:force=>true})
   -> 0.1359s
-- create_table(:logins, {:force=>true})
   -> 0.0004s
Bob has 0 logins
Bob has 0 logins
```

```
Active Record 4.0.0
-- create_table(:users, {:force=>true})
   -> 0.1610s
-- create_table(:logins, {:force=>true})
   -> 0.0004s
Bob has 0 logins
./proof.rb:37:in `announce': undefined method `owner' for nil:NilClass (NoMethodError)
  from ./proof.rb:44:in `<main>'
```

This was previously open as #10990