Look through attributed/specifier/paren TypeReprs, avoid reporting
`RelBase` relations for suppressed conformances, and handle protocol
compositions for the `Type` code path.
rdar://146331982
When conforming to a protocol, the index should have a "override"
relation for each witness, including type witnesses. This was
accidentally broken in 3bd80e5e31 when we stopped using the
type-checker to find all protocol conformances.
rdar://47833618
Query for the local conformances of a DeclContext and record conformances of
functions that are defined in other types as 'implicit' overrides, with
the type that introduces the conformance as container symbol.
This allows more accurate index data, and avoids needing to query for all
protocol requirements, which is expensive to calculate.