Give ShippingCategory correct name so sample shipments have shipping_rates

Fixes #3795
Support .name and .description on line items

This allows line_items to override and control what should be used for
description and name sanely.

The extra helper isn't ideal, but we do maintain the old interface for
extensions.

Fixes #3734
Do not allow one product to be assigned the same taxon more than once

Fixes #3494
Include jquery.validate localization messages when the locale is not :en

Fixes #3794
Add a test for #3494
Allow users to delete country via backend UI

Fixes #3807
Allow users to create new countries via backend UI

Fixes #3807
[backend] Remove test that depends on browser to be in focus

See comment thread: https://github.com/radar/spree/commit/6dcddf961589bd0162e09c5ce94b24acd0ba39cb#commitcomment-4218181
With the change of shipping categories seed to Default, product seed needs to match. References #3795

Fixes #3811
Allow recreating deleted stock items

Add deleted_at to uniqueness scope otherwise use cant recreate a stock
item on the same stock location

Fixes #3834
Prefs: don't determine persist? from .connected?

.connected? returns false until a connection is actually attempted. This
meant if the cache was empty, preferences would be set to their default
values and that would be persisted to cache.

This reverts commit 9ca8ef97fb9139a5aecd1f406b21a7fadfdca658.

Fixes #3785
prefs: don't cache fallback when not persisting

When persistence was disabled (for whatever reason), fallback values
were written to the cache if there was no existing value cached.

There is no benefit in doing this. Database lookups will not happen
without persistence being enabled, and there was potential for the
fallback values being incorrectly written to the cache.
Create a custom router mapper so we have more control over the routes

Due to reasons explained in rails/rails#12367
Provide add_routes and append_routes methods

add_routes for when you don't care where they go (as long as they're there) and append_routes for when they must absolutely go at the end of the routes
verify if a user can fire a following event on order or not

Fixes #3818
Add class name to Variant#option_values association

This is so something like this would work:

variant.option_values << ov
Reload rules select2 box after picking a PromotionRule

So that the chosen rule no longer is displayed on the select2 box, users
can associate each rule only once with the promotion

Fixes #3572
Fixes #3816
Don't convert list of stock items to an array if all we need to do is sum
Fix redirect loop with redirect_https_to_http

force_non_ssl_redirect was testing if the actions was included in
ssl_{required,allowed}_actions, but didn't consider the case that it was
empty (which should mean all actions). This caused an infinite redirect
loop on admin and checkout pages with the option enabled.

This fixes the issue and simplifies the code by combining the lists of
allowed and required ssl actions. Also added some specs.

Fixes #3813
changed to use display_price whenever possible to allow extension and to simplify code

Fixes #3822