Fix that a1bb6c8 overloaded the uniq-like behavior of CollectionAssociation#uniq with #distinct

Everywhere else in ActiveRecord there's a clear association between the
#distinct method and the DISTINCT sql statement.
CollectionAssociation#uniq was not at all scope-like and rather returns
an array, as #uniq does elsewhere in Ruby.

It was surprising to me that Author#comments.distinct wasn't chainable
in that context, when it's chainable everywhere else, and the
association is clearly backed by a sql statement. It's particularly strange
given that these three uses of distinct have two different implications:

```
# DISTINCT-like
class Author < ActiveRecord::Base
  has_many :commentables
  has_many :comments, -> { distinct }, through: :commentables
end
Comment.joins(:author).where(author_id: Author.first.id).distinct

# #uniq-like
Author.first.comments.distinct
```

IMO overloading this behavior with #distinct's other behavior will
cause confusion - better to provide these 2 behaviors separately.

I thought about having different behavior when the target was loaded or
not, but the different return values (array vs relation) make that surprising too.
If there is a way to return a relation-like object in the loaded case, populated
with the #uniq records, that could be better.

introducing commit: a1bb6c8b06db8354617