Change multi-block regalloc candidate weights to be signed.

Makes it nicer to disable a candidate by making its weight go
negative.
Add the IceTargetLowering::makeAssign() method.

This makes it easy for multi-block register allocation to generate the
compensation assignments without getting the RegManager involved.
Add the IceTargetLowering pointer to the IceCfg.

This way it can be used in multiple passes as needed.
Implement part of the real compensation code insertion.

This is for multi-block register allocation.  Still disabled by
default.