Persist address ids on UserAddress module

Otherwise addresses would not be associated with the user at all
Stub calculator to return a non-zero value in create_item_adjustments test
Promotion calculator must have something to discount within cart_spec

Otherwise no adjustment will be applied
Fix issue where CreateItemAdjustments action was not creating more than one adjustment

This was caught by the tests(!). This is why you good test coverage is vitally important.
Stub item_total and ship_total on order in coupon_spec so that promo adjustment 'wins'