librustc: Introduce a dominator tree using the Rice algorithm and compute it in places where we will need it for non-lexical lifetimes.

Groundwork for issue #6393.

r? @nikomatsakis