Provide different levels of liveness analysis.

IceLiveness_LREndLightweight: Lightweight version of live-range-end
calculation.  Marks the last use of variables whose definition and
uses are completely within a single block.

IceLiveness_LREndFull: Full version of live-range-end calculation.
Marks the last uses of variables based on dataflow analysis.  Records
the set of live-in and live-out variables for each block.  Identifies
and deletes dead instructions (primarily stores).

IceLiveness_RangesFull: In addition to IceLiveness_LREndFull, also
calculate the complete live range for each variable in a form suitable
for interference calculation and register allocation.
Fix a typo in a comment.