Fill in associated type defaults with DeriveAnyClass

Authored by RyanGlScott.

Description

Fill in associated type defaults with DeriveAnyClass

Summary:
Unlike -XDefaultSignatures, -XDeriveAnyClass would not fill in
associated type family defaults when deriving a class which contained
them.

In order to fix this properly, tcATDefault needed to be used from
TcGenDeriv. To avoid a module import cycle, tcATDefault was moved
from TcInstDcls to TcClsDcl.

Fixes Trac #10361.

Test Plan: ./validate

Reviewers: kosmikus, dreixel, bgamari, austin, simonpj

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D1283

GHC Trac Issues: Trac #10361