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

Fixes #3665
Allow cc_type to be passed through in the source attributes

This attribute comes from jquery.payment
promotion adjustments should be eligible even if amount is zero

Fixes #3263

Conflicts:
	core/app/models/spree/adjustment.rb
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
Only build ship_address if order has delivery step

Stores which redefine the checkout workflow and remove the delivery step
usually don't care about the shipping address. This should avoid
shipping address validation errors because the order could try to save
an empty shipping address

Fixes #3689
Allow precompile assets without opening db connection

Move the LIKE constant to the core gem as that is the place where it
gets called

Fixes #3690
Fixes #3688
Do not show an empty list in admin, prompt user to add an item

Fixes #3681
Use correct namespace for 'payment_method_not_supported' translation in payment/processing.rb
Remove 'begin/rescue/end' block in check_alerts that was masking errors
Correct query call for alerts
Add styling for alerts to admin backend
Exclude dummy app from SimpleCov

SimpleCov seems to want to include the dummy app
when calculating coverage, which causes extension
coverage to appear lower than it is. This excludes
it when initializing SimpleCov in spec_helper.rb

Fixes #3692
Add ability to force stock item value

Fixes #3293
Fixes #3691
Fixing the tabs for configuration

Fixes #3684
Fix variant eager loading in Shipment `manifest`

Deleted variants were not being fetched due to a default scope. Adding a
`joins` seems to override the default scope and fix exceptions in
backend when trying to view orders with deleted variants
Mention that update_attribute(s)_without_callbacks have gone away
Correct query call for alerts
Fix tax rates with VAT.

This previously wouldn't refund tax rates with VAT due to changes
around how default tax zones are handled.

Fixes #3669
Fixes #3699