Fix _exactTransitiveConstraints infinite recursion

Instead of making _exactTransitiveConstraints smarter, I realized it was
only used as a single step in the appropriately smart
_propagateExactTransDeps. By replacing the transitive single steps
inside _propagateExactTransDeps with non-transitive single steps, the
code got simpler and didn't require the steps to themselves watch out
for infinite recursion.

Also, change newExactConstraintsList calculation to better match the
comment above it.