Fix alert styles

[Fixes #4238]
[api] Handle adding option types to an existing product
[api] Allow creation of variants on an existing product
[api] Allow existing variants to updated
Make key access consistently symbols

Fixes #4254
Versionfile is deprecated

We need to figure another way (or another file, same file?) to boot the
dummy app properly when or if needed
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
Simplify OrderPopulator

OrderPopulator was previously taking multiple products at once. It doesn't need to do that, given that the only place it's used (OrdersController#populate) only ever passed in a single variant id and quantity.
Remove Order payments association's inverse_of

This was causing 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)

Super incredibly glad that we found this out before master was released as a real gem.
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
use AR 4 syntax or prefix table name on some scopes

Fixes #4225
[api] Fix a spec typo in order_spec

Fixes #4242
Bump to Rails 4.0.2 in README
Do not care if frontend/backend/api cannot be loaded in extensions
Include display_price in variant return results
Variant#in_stock? now no longer takes a quantity. Call can_stock? instead

Variant#in_stock?'s method is now cached, too.
Allow halting of updating_from_params callbacks by returning false

Without specifying a :terminator to define_callbacks, its impossible to
halt the event from happening.

And yes, that is a string that is eval'd, as per:

  http://api.rubyonrails.org/classes/ActiveSupport/Callbacks/ClassMethods.html#method-i-define_callbacks

Fixes #4244
Simplify Variant#can_stock? test

This code is already tested within the Quantifier test
Fix population tests in frontend after OrderPopulator refactor