refactor the use for the stock methods on Variant. 

in_stock? should not take backordering into account IMHO. Use can_supply? for that.