change message to selected_quantity_not_available when selected quantity can not be supplied
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
update_columns does not exist in Rails 3, so use update_column instead
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
Correct shipping category name for sample data
Include jquery.validate localization messages when the locale is not :en

Fixes #3794
Add a test for #3494
Destroy order if import via api raises any error

So that no unintentionally partial order remains in the database

Fixes #3788

Conflicts:
	api/app/models/spree/order_decorator.rb
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
verify if a user can fire a following event on order or not

Fixes #3818
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

Conflicts:
	core/app/models/spree/stock/quantifier.rb