carrier improvements

- added updateCarrier() hook
- changed shipment mode determination
I added the ```else return;``` if the id was not found in both cases.
Well, you made a sophisticated function for just one test. I wish you will use it elsewhere later. :)