Disable acts_as_paranoid for StockItem if deleted_at column does not exist

This would not exist in the case of a migration from 1-3-stable to 2-0-stable.

Fixes #3805
change message to selected_quantity_not_available when selected quantity can not be supplied
Fetch X-Spree-Token in request.headers

As that is where it's available rather than in request.headers.env which
would bring the full header env name e.g. HTTP_X_SPREE_TOKEN

Fixes #3798
Reversing order in which adjustments and line_items are destroyed when cart is emptied

See, e.g., https://github.com/spree/spree/issues/3787#issuecomment-25417823

Occasionally deleting the line_items before the adjustment will cause strange things to happen, like trying to recalculate the shipping and getting `nil` shipping amounts for shipments of no line items. Deleting the adjustments first and the line_items second seems a little cleaner in this way.

Also, philosophically it seems to make sense to empty a cart in the reverse order of how it was populated. So the cart begins with line items, to which handling and tax and shipping are added... Seems reasonable to "roll back" to a fresh cart by reversing the order and taking away the adjustments then the line_items.

If for some reason, the state gets stuck mid-emptying-of-cart, then you might be left with a user who's got their items but no shipping or tax charges. I'm not clear on whether `empty!` also rolls back the order state machine (which would prevent that bug), but I'm also not sure how concerned we should be about this possibility -- as opposed to the known issues that can sometimes happen when you delete the line_items first, rather than second.

I can see an argument both ways, but my opinion would be that this proposed order makes the most sense overall.

Fixes #3800
fix bug in Product#save_master (see #3746)

Fixes #3746
Fixes #3801
Allow any version of the money gem above 5.1.1

Related to #2737
remove unused credit card fields

Removes verification_value, issue_number, and start date from the
payment admin, as they aren't used anywhere within spree and were
always blank.

Adds card_type, as that may be helpful.

Fixes #3802
Remove bashisms, fix shebangs

* Remove `function`: Allows ubuntu users to `sh build.sh`
* Ensure shebangs exist on first line of scripts

Fixes #3803
Check for column_name in migration instead

Avoid a db connection when loading all Spree code right away

Fixes #3806
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
fruga confusao em views entre :states e :status