Explicitly keep track of temporaries during the consumed analysis.

This makes the consumed analysis less dependent on the CFG layout and fixes
a bug where we wouldn't warn on an unconsumed value.