Allow shipping calculators to return nil values if no service is matched.
Allow shipping calculators to return nil values if no service is matched.

With shipping calculators returning 0, we run the risk of choosing and charging
a cost of $0 in cases where for example spree_active_shipping has a failed rate
query with the carrier API. This could be a very expensive mistake.

Current problem as it stands is that with spree_active_shipping returning nil, if
the calculator returns nil, no other rate options are tried and the customer sees
no shipping options in checkout.

This fixes https://github.com/spree/spree_active_shipping/issues/104

Fixes #3588

Fixes spree/spree_active_shipping#104

Antdesk/karpal-spree,Antdesk/karpal-spree,Antdesk/karpal-spree