Ensure that state_changes aren't created when the state doesn't change

In retrospect, this seems very obvious.

Fixes #4072

Conflicts:
	core/app/models/spree/order.rb
	core/spec/models/spree/order_spec.rb