Sema: Fix logic error in associated type inference solver
This problem was introduced in 2017 by commit bbaa7f716345cc5e3be939c47d11f946db71caf5.
If a protocol requirement has multiple potential witnesses, and one
of those witnesses only introduces tautological type witness bindings,
we would be forced to choose among the remaining witnesses.
However, this did not account for the possibility that the
tautological witness is the correct choice; it's possible that we
will infer the same type witnesses via a different protocol
requirement.