Deprecate automatic counter caches on has_many :through

Reliant on https://github.com/rails/rails/pull/15747 but pulled to a
separate PR to reduce noise. `has_many :through` associations have the
undocumented behavior of automatically detecting counter caches.
However, the way in which it does so is inconsistent with counter caches
everywhere else, and doesn't actually work consistently.

As with normal `has_many` associations, the user should specify the
counter cache on the `belongs_to`, if they'd like it updated.
Merge pull request #15754 from sgrif/sg-deprecate-hmt-counter-cache

Deprecate automatic counter caches on has_many :through