Create Spree::Migrations to warn about missing migrations

Everytime users boot their apps they would see a warning like:

    [spree] Missing migrations. Run `bundle exec rake railties:install:migrations` to get them.

Fixes #4080
Add test to protect against Order payments inverse_of declaration.

Setting the inverse_of declaration causes issues like spree/spree_gateway#132, and would've caused similar issues for all non-token gateways (i.e. gateways that send CC info rather than getting a token and using that instead). Removing the inverse_of fixes this issue.
Use pure delegate in Spree::Gateway, compared with delegate_belongs_to

The provider method here is not a belongs_to association, so there's no good reason why we should be using delegate_belongs_to at all. Further more, delegate_belongs_to defines setters for these methods, but that is not necessary at all since these methods do not have setters!
Improved tracking URL generation to handle spaces in tracking numbers

Fixes #4233
Add changelog for #4233
use AR 4 syntax or prefix table name on some scopes

Fixes #4225

Conflicts:
	core/app/models/spree/adjustment.rb