Fix asymptotic performance issues in live variables analysis.

Fix possibly-exponential runtime for DFS graph searches.
Improve DFA fixpoint algorithm to correctly compute worklist
of only changed nodes for each iteration.

Added test that takes > 2 minutes to compile without these
improvements.
The three changes should all independently have nontrivial, measurable performance improvement (possibly with increasing the nesting depth of the example).