Calculate last uses during buildIntervals.
This change moves LSRA's last use calculation from `setLastUses`
into `buildIntervals`.
The algorithm flips is as follows:
- When adding a ref position to a lclVar interval:
- If the ref position is not a parameter def, zero init, or an
exposed use, set the ref position's last use bit
- Additionally, if the ref position is a use and there is a
preceding ref position in the same basic block, clear that ref
position's last use bit.
- Once a basic block has been processed, clear the last use bit of the
final ref position in that basic block (if any exists) for each lclVar
that is live out of that block.
Aside from the algorithmic change, the other major difference is that
the GTF_VAR_DEATH bit is not updated until `resolveLocalRef`.