By default shipments are not split, instead all line items are bundled into a single shipping unit.
The above behavior can be overridden by specifying a shipment splitter in config.
All shipping calculations are done per shipping unit instead of on the order.
Shipping Calculators may now implement applicable criteria for shipping units, and may selectively reject shipment units which are not supported by them.
Only those methods which are applicable for the shipping unit and successfully return a value will be shown to the end user for checkout.
[x] Implement Split Shipments
[x] Update User view for supporting split shipments
[x] Update Admin view for supporting split shipments
[x] Update existing specs
[x] Add specs to test splitting behavior with the checkout flow
Adds support for split shipments: