VARMAP maintains a mapping from SSA version number to real variables.
All SSA_NAMES are divided into partitions. Initially each ssa_name is the
only member of it's own partition. Coalescing will attempt to group any
ssa_names which occur in a copy or in a PHI node into the same partition.
At the end of out-of-ssa, each partition becomes a "real" variable and is
rewritten as a compiler variable.
The var_map data structure is used to manage these partitions. It allows
partitions to be combined, and determines which partition belongs to what
ssa_name or variable, and vice versa.
Hashtable helpers.