Make migration more tolerant of deleted Variants

This migration bailed for me when it found an old order (before Spree used `acts_as_paranoid`) with a line_item referencing a Variant that no longer existed.

Making the migration use `variant_id` instead of `variant.id` fixed this problem for me, and I suspect will make the migration path smoother for other people who have been using Spree since before the `paranoia` gem.
This will load all line items for the order and then do an `Enumerable#detect` over them. Could this please be implemented as:

```ruby
shipment.order.line_items.where(variant_id: variant_id)
```

?