Fix shipment factory to only create one shipment per order

Currently a new shipment is created every time the shipment checkout step is processed.
This commit ensures that only one shipment is created, and all inventory units in order are associated with it.