Reuse HUseListNode<>s when replacing instruction or input.

Compiling the Nexus 5 boot image with the 64-bit dex2oat
on host this CL reduces the memory used for compiling the
most hungry method, BatteryStats.dumpLocked(), by ~5.6MiB:

Before:
  MEM: used: 44393040, allocated: 45361248, lost: 968208
  Number of arenas allocated: 319,
  Number of allocations: 815492, avg size: 54
  ...
  UseListNode    10308480
  ...
After:
  MEM: used: 38554536, allocated: 39463008, lost: 908472
  Number of arenas allocated: 274,
  Number of allocations: 572221, avg size: 67
  ...
  UseListNode     4469976
  ...

With 32-bit dex2oat, the UseListNode would be 2/3 of the
values for 64-bit dex2oat (both before and after).

Bug: 28173563
Change-Id: Ia4fabe03568f0e0dbf2cdf2b031863602aea3530
2 files changed