coherence: fix is_knowable logic
A trait-ref that passes the orphan-check rules can still be implemented in a crate downstream from our crate (for example, `LocalType for LocalTrait<_>` might be matched by a `LocalType for LocalTrait<TypeFromDownstreamCrate>`), and this should be known by the `is_knowable` logic.
Trait selection had a hackfix for this, but it's an hacky fix that does not handle all cases. This patch removes it.
fixes #43355.
r? @nikomatsakis
Needs a crater run