Distinguish between has_many and belongs_to

The source association for a `has_many through` association may be either
another `has_many` association or a `belongs_to` association. What the
`primary_key` option on the source association refers to in each of these
cases is different.