carrier improvements

- added updateCarrier() hook
- changed shipment mode determination
Is there a mistake here ? Should it be ```if ($type & self::TYPE_EXPRESS == self::TYPE_EXPRESS)``` instead ?