carrier improvements

- added updateCarrier() hook
- changed shipment mode determination
As I said previously, use ```$ids[] = ...``` instead of ```array_push($ids, ...)```