Introduce the IceOperandX8632Mem operand type and associated changes.

IceOperandX8632Mem contains a Base variable, Index variable, Shift
amount for the Index, and Offset constant, and represents the full x86
memory addressing modes.

This temporarily brings back the IceCfg::findAddressOpt() pass.  This
will ultimately get folded into target lowering.  Vanilla ICE is now
polluted because new instructions containing IceOperandX8632Mem
operands are inserted.

ICE is slightly changed to handle liveness calculation for the
IceOperandX8632Mem operand.  IceOperand now holds an auxiliary array
of IceVariables, along with the array size, for quick access to the
rvalue IceVariables during per-instruction liveness calculation.
Several places in the code have the new iteration pattern.

IceOperand::dump() is changed back to virtual, to handle dumping of
IceOperandX8632Mem from Vanilla ICE.  (Perhaps IceOperandX8632 should
inherit from a new type IceOperandTarget which inherits from
IceOperand, and IceOperandTarget would have a virtual dump() method
while Vanilla ICE operands remain vtable-free.)

The convert.ll test is modified because the code sequence for loading
from globals is improved.
Fix bug in a782dfaca076301172e938b2828ae9cf44cffbe2.

The IceOperandX8632Mem::Offset field could be NULL which indicates 0.