carrier improvements

- added updateCarrier() hook
- changed shipment mode determination
Because there are only those two cases, and I rather prefer creating a regular shipment than none.
BTW where is that last line "else return;" in your outline from?