Restore guards against committing blocks tainted with varargs information
Make sure to preserve otherwise dead values that are needed due to the way commit works.

Specfically, a copy of a ptr would usually be dead if all its users are resolved, but we keep it alive if the loop unroller or inliner will take a direct copy to supply an argument or header PHI, because they don't pay attention to our replacement sets.

Also improve the GUI to permit inspection of folded contexts.
Simplify is-edge-dead and is-block-dead judgements: always check every scope down to the function master.

This is because there's always the chance a block will be found dead because it is dominated by one or more invariant edges, even though more local conditions are more variant.

Could save some time by identifying a per-block minimum scope where the is-dead checks could stop. Don't do this now.