Fix nil shipment and payment states

the validation on assembly component stock was being called in `order.finalize!`, after stock has been allocated, not allowing it to be saved if there wasn't enough stock to fulfill the order again.