Don't process payments if there's no payment state in orders

Fixes #3665
promotion adjustments should be eligible even if amount is zero

Fixes #3263
Make AvailabilityValidator aware of inventory units

When checking stock from line items related to shipments and inventory
units we need to check stock according to the inventory units count and
not only to the line item quantity. e.g. typical case

    Store has 5 of item A in stock
    Customer purchases 5 of item A
    Store creates 5 inventory units once order is completed
    At this point item A is out of stock

    Store admin wants to ship only 4 of Item A
    Spree should be able to decrease that quantity and restock the item

The store don't need to check stock for Item A in that scenario because
it's actually decreasing the item quantity. In fact we need to restock 1
item back to the stock location

Fixes #3586
Fix select2 dropdown width to auto adjust for content. Fixes #3286

Fixes #3675
Remove redundant arrow glyph from select2 dropdown.

Fixes #3686
Merge branch 'source/2-0-stable' into 2-0-stable

# By Alexey Topolianskiy (1) and others
# Via Ryan Bigg
* source/2-0-stable:
  Remove redundant arrow glyph from select2 dropdown.
  Fix select2 dropdown width to auto adjust for content. Fixes #3286
  Make AvailabilityValidator aware of inventory units
  promotion adjustments should be eligible even if amount is zero
  Don't process payments if there's no payment state in orders