Switch the mailers to be invoked using ids, not model objects. This makes it easier to support asynchronous mail jobs, as only simple ids need to be persisted.

Fixes #2808

Conflicts:
	core/app/mailers/spree/order_mailer.rb
	core/app/mailers/spree/shipment_mailer.rb
	core/app/models/spree/order.rb
	core/spec/models/spree/shipment_spec.rb