carrier improvements

- added updateCarrier() hook
- changed shipment mode determination
Please add brackets in this kind of condition, so we should have ```if (($type & self::TYPE_ECONOMY) == self::TYPE_ECONOMY)```