has_many :through with dynamic condition merging

Fixes #16128.

This bug was introduced in rails@c35e438 so it's present in versions 4.1.2-rc1 and later.

rails@c35e438 adds handling for scope merging in `has_many :through` relations, but does *not* take into account the case where the scope is passed with an argument (ie. the current record).

To reproduce see https://gist.github.com/Agis-/5f1f0d664d2cd08dfb9b
This is overkill for this fix. We don't need to split it up into if/elsif. We can simply do
```
if reflection.scope && reflection.scope.arity == 0
    relation.merge!(reflection.scope)
end
```