Always check if a shipment can be shipped before shipping.

This is needed to handle the case where a shipment is shipped manually
or through some other means, and the delayed job tries to ship. In this
case, we want the delayed job to stop, not start erroring on the state
transition.

Closes #9. [#78440420]