carrier improvements

- added updateCarrier() hook
- changed shipment mode determination
Because you just add one value in the array, you should write ```$old_ids[] = $id;```