[ty] Store typevar instances in `InferableTypeVars` (#27113)
This is a pure refactoring PR in support of the [scoped
quantifier](https://gist.github.com/dcreager/679132607be4c7cfb08ddc8ad1076982)
work.
For the new existential atoms, we will need to calculate the valid
specializations of the quantified typevars, so that we can include that
in the quantified domain. (This needs to be tracked separately so that
we handle it correctly in both existential and universal
quantifications.) That requires having a `BoundTypeVarInstance`, rather
than a `BoundTypeVarIdentity`.
This PR updates our `InferableTypeVars` type to store instances. (We
actually have to store both, so that we can continue to deduplicate
based on identity.)
While we're here we also rename it to `TypeVarSet`, since we're using it
for more than just inferable sets now.
This should be a pure refactoring PR with no behavioral changes.