lsra: prioritize regs with shorter live ranges

resulting in fewer spills. see example below (20 vs. 8 spills). it's now the
same algorithm as in the poletto paper.

here is a result from tests/InstanceOf3.java
===================== BEFORE =========================
Pipe:
Pipe: -- LSRA Result --
Pipe:
Pipe: vreg VR {vrNr = 1, vrTyp = JRef}  -> 0xffffffdc(ebp[i])
vreg VR {vrNr = 2, vrTyp = JRef}  -> 0xffffffd0(ebp[i])
vreg VR {vrNr = 3, vrTyp = JRef}  -> 0xffffffc4(ebp[i])
vreg VR {vrNr = 4, vrTyp = JRef}  -> 0xffffffb8(ebp[i])
vreg VR {vrNr = 5, vrTyp = JRef}  -> 0xffffffac(ebp[i])
vreg VR {vrNr = 50000, vrTyp = JRef}  -> 0xffffffe4(ebp[i])
vreg VR {vrNr = 50001, vrTyp = JRef}  -> 0xffffffe0(ebp[i])
vreg VR {vrNr = 50002, vrTyp = JRef}  -> 0xffffffd8(ebp[i])
vreg VR {vrNr = 50003, vrTyp = JRef}  -> 0xffffffd4(ebp[i])
vreg VR {vrNr = 50004, vrTyp = JRef}  -> 0xffffffcc(ebp[i])
vreg VR {vrNr = 50005, vrTyp = JRef}  -> 0xffffffc8(ebp[i])
vreg VR {vrNr = 50006, vrTyp = JRef}  -> 0xffffffc0(ebp[i])
vreg VR {vrNr = 50007, vrTyp = JRef}  -> 0xffffffbc(ebp[i])
vreg VR {vrNr = 50008, vrTyp = JRef}  -> 0xffffffb4(ebp[i])
vreg VR {vrNr = 50009, vrTyp = JRef}  -> 0xffffffb0(ebp[i])
vreg VR {vrNr = 50010, vrTyp = JRef}  -> 0xffffffa8(ebp[i])
vreg VR {vrNr = 50011, vrTyp = JInt}  ->        ecx
vreg VR {vrNr = 50012, vrTyp = JRef}  -> 0xffffffa4(ebp[i])
vreg VR {vrNr = 50013, vrTyp = JRef}  -> 0xffffffa0(ebp[i])
vreg VR {vrNr = 50014, vrTyp = JRef}  ->        ecx
vreg VR {vrNr = 50015, vrTyp = JInt}  ->        edx
vreg VR {vrNr = 50016, vrTyp = JRef}  ->        ecx
vreg VR {vrNr = 50017, vrTyp = JRef}  -> 0xffffff9c(ebp[i])
vreg VR {vrNr = 50018, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50019, vrTyp = JInt}  ->        ebx
vreg VR {vrNr = 50020, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50021, vrTyp = JRef}  ->        ecx
vreg VR {vrNr = 50022, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50023, vrTyp = JInt}  ->        esi
vreg VR {vrNr = 50024, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50025, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50026, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50027, vrTyp = JInt}  ->        edi
vreg VR {vrNr = 50028, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50029, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50030, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50031, vrTyp = JInt}  -> 0xffffffe8(ebp[i])
vreg VR {vrNr = 50032, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50033, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50034, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50035, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50036, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50037, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50038, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50039, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50040, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50041, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50042, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50043, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 99999, vrTyp = JInt}  ->        eax
vreg VR {vrNr = 100000, vrTyp = JRef}  ->       xmm7

===================== NOW  =========================
Pipe:
Pipe: -- LSRA Result --
Pipe:
Pipe: vreg VR {vrNr = 1, vrTyp = JRef}  -> 0xffffffdc(ebp[i])
vreg VR {vrNr = 2, vrTyp = JRef}  -> 0xffffffd8(ebp[i])
vreg VR {vrNr = 3, vrTyp = JRef}  -> 0xffffffd4(ebp[i])
vreg VR {vrNr = 4, vrTyp = JRef}  -> 0xffffffd0(ebp[i])
vreg VR {vrNr = 5, vrTyp = JRef}  -> 0xffffffcc(ebp[i])
vreg VR {vrNr = 50000, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50001, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50002, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50003, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50004, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50005, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50006, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50007, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50008, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50009, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50010, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50011, vrTyp = JInt}  ->        ecx
vreg VR {vrNr = 50012, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50013, vrTyp = JRef}  ->        esi
vreg VR {vrNr = 50014, vrTyp = JRef}  ->        ecx
vreg VR {vrNr = 50015, vrTyp = JInt}  ->        edx
vreg VR {vrNr = 50016, vrTyp = JRef}  ->        ecx
vreg VR {vrNr = 50017, vrTyp = JRef}  ->        edi
vreg VR {vrNr = 50018, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50019, vrTyp = JInt}  ->        ebx
vreg VR {vrNr = 50020, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50021, vrTyp = JRef}  ->        ecx
vreg VR {vrNr = 50022, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50023, vrTyp = JInt}  -> 0xffffffe0(ebp[i])
vreg VR {vrNr = 50024, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50025, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50026, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50027, vrTyp = JInt}  -> 0xffffffe4(ebp[i])
vreg VR {vrNr = 50028, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50029, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50030, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50031, vrTyp = JInt}  -> 0xffffffe8(ebp[i])
vreg VR {vrNr = 50032, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50033, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50034, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50035, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50036, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50037, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50038, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50039, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50040, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50041, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 50042, vrTyp = JRef}  ->        ebx
vreg VR {vrNr = 50043, vrTyp = JRef}  ->        edx
vreg VR {vrNr = 99999, vrTyp = JInt}  ->        eax
vreg VR {vrNr = 100000, vrTyp = JRef}  ->       xmm7