stack: Correctly insert %DYNAMIC-EXTENT-START.
We need to do a forward walk through the flow graph in order to insert
%DYNAMIC-EXTENT-START correctly, as it's impossible do so with the
liveness iteration, which is a backwards flow algorithm. Inserting
%DYNAMIC-EXTENT-START before the other parts of stack analysis runs
has benefits too: we no longer push the same lvar multiple times, so
that uvl-set ordering can do more consistency checking for us. We also
don't need to keep track of DX-POPPED or calculate LVAR-DYNAMIC-DEST
anymore, which gave incorrect answers anyway in conjunction with
normalizing all stack objects in the same group to use the same lvar
as we do now. The test case :DYNAMIC-EXTENT-MESS-UP demonstrates the
problem.