FIX: only add DistanceShippingMethod cost note when distances rates exist.
Refactored shipping system to allow calculating shipping from an order (items, etc etc), rather than only package dimensions and address.
Introduction of the 'Warehouse' model.
Updated distance shipping method.