The method responsible for allocating a virtual register to a physical
one in RegAllocFast contained the logic for finding which is the best
register in terms of spilling cost, making sure the register is free by
calling the spill methods and update its state and performing the
allocation itself.
This patch splits those resposabilities into separate methods.