[ty] Avoid inferring intersection types for call arguments (#23933)
We currently infer intersection types when call arguments have multiple
applicable type contexts across call bindings. However, this can lead to
incorrect and confusing types being inferred (see
https://github.com/astral-sh/ty/issues/3001 for details). Instead, we
should store all inferred types separately, and access them based on the
type context for the given binding being matched against.
Resolves the remaining part of
https://github.com/astral-sh/ty/issues/3001.