[ty] Check for unsatisfiable bodies before existentially quantifying (#29504)
When we existentially quantify a BDD, we calculate `∃X . B` for some set
of typevars `X` and some BDD `B`. If the BDD is never satisfiable, this
is equivalent to `∃X . false`, which can be further simplified to
`false`.
We expect this to be performance neutral at the moment, since
`reduce_inferable` will already simplify the resulting quantified BDD
down to `false` in most cases. We've extracted it for separate review
out of #29027, where is has a much more pronounced impact, since it
prevents us from creating existential nodes that we have to repeatedly
walk through during solution extraction.