Fix issue changing between payment methods in admin

Fixes #4358
Fixes #4203
Payment credit_allowed deducts from offsets

fixes #4403
Fixes #4407
ShippingMethod#shipments should look up shipments through linked shipping rates

It used to be that shipments linked directly to shipping methods, but now the relationship is done through shipping rates.

Fixes #4492

Conflicts:
	core/app/models/spree/shipping_method.rb
ShippingMethods are now never responsible for adjustments
Stub an order correctly in shipment_spec

Doing it the other way made a couple of tests fail

I don't know why.