Don't touch stock items when order is not completed

Fixes #3324
Fixes #3334
Remove pending specs in OrderInventory
Apply coupon before payments are created and processed

Payments can't be created before a promotion discount is applied,
otherwise we get inconsistent values between payment amount and order
totals

Fixes #3351
Display right price when product has variants

When a user loads the product page it was not displaying the price of
the variant chosen on the form

Fixes #3384
Fix issue where 'deleting' a product would cause admin products listing to error out

Fixes #3385
Fix RSpec deprecation warning with should_not raise_error(SpecificErrorMessage)

DEPRECATION: expect { }.not_to raise_error(SpecificErrorClass) is deprecated. Use  instead.
Clean up most rspec deprecation warnings

Too much noise when running api and core build

Fixes #3376
avoid hard-coding path of orders, stock locations + variants APIs

Fixes #3371
Fixes #3372
[api] Remove excessive do/end block from variants resources definition
Click "Update" button on order details page, not "Continue"