Prevent adding items without stock via admin UI [Fixes #3041]

If stock item on hand is 0 and it doesn't allow backordering admin
shouldn't be able to add the product

[Fixes #2998]
Taxon edit form layout tidyup

Fixes #3042
Consolidate spree/order attributes for coupon_code
Add backorderable default config to StockLocation [Fixes #3045]

Stock items backorderable values will be set according to this config
every time either a variant or a stock location is created
Add propagate variants config to StockLocation [Fixes #3050]

Every time either a new stock location or new variant is created the
stock_location##propagate_all_variants value will be checked to decide
whether new stock items should be created for the new stock location or
variant
Respect CanCan.
Update Spree versions listed in README
Allow users to easily override zipcode validation

Just like it's already done with the phone field

[Fixes #3065]
[Fixes #3073]
remove unused variable redefinition [Fixes #3072]
Use Spree.url() to build taxonomies jstree urls

URLs were hardcoded which caused errors when users mounted Spree in a
path other then "/"

[Fixes #3070] [Fixes #3071]
master branch is now 2.1.0.beta
Remove legacy comment from order model [Fixes #3063]
Changed required RubyGems version to 1.8.23 so that Heroku can host it
[Fixes #3077]
Create a CHANGELOG file for each Spree component

It should help us to have a detailed idea of what changes between
versions. Both community and core developers could add an entry for
every relevant change. e.g. deprecated methods, relevant API
improvements, fixes.

Fixes #3062
Adding i18n values to English Locale
Refactor frontend address spec

This spec has failing on the CI for a while. The reason might be that it
used capybara `find` to check the visibility of elements and that method
does not wait until the element become either visible or not visible so
depending on the page load time the spec may get confusing results.

`has_selector?` is probably a better choice since we can specify
explicitly the `visible` option

[Fixes #3084]
Symbolize attachment styles keys on controller

[Fixes #3069] [Fixes #3080]
Add issue numbers to paperclip 'undefined method processors' error changelog entry
Remove t() helper override

All spree core codebase now uses Spree.t() so I think we can safely
remove it. Plus I don't believe it's a good idea to throw warning every
time t() is called. Spree extensions or even other libraries can just
choose not to use Spree.t() at all. I don't think we should force then
to.

Fixes #3083
Remove order.update_totals from order.payment_required?

Instead we can call `order.update_totals` on the checkout_flow block
only since that's the only place on the code base where it seems to be
necessary. Plus calling `order.update_totals` generates a whole bunch of
work users may really not need or expect when calling
`order.payment_required?`

Fixes #3086
Fixes #3040