Includes HABTM returns correct size now. Fixes #16032

Includes HABTM returns correct size now. It's caused by the join dependency only instantiates one HABTM object because the join table hasn't a primary key.

Fixes #16032.

### Examples:

before:
```ruby
    Project.first.salaried_developers.size # => 3
    Project.includes(:salaried_developers).first.salaried_developers.size # => 1
```
after:
```ruby
    Project.first.salaried_developers.size # => 3
    Project.includes(:salaried_developers).first.salaried_developers.size # => 3
```
This defeats the purpose of hashing in the first place. Multiple rows which reference the same parent id will have different object IDs, if the query returned the same row more than once (due to a join for example).