[WIP] Fix create_shipment

The create_shipment! method does not work if a store has both physical and electronic shipments, because create_units can be called *after* a shipment has already been created. This is an attempt to fix that issue by moving some of the logic from that method to `Spree::InventoryUnit#increase`, where it would seem to belong.