[api] Ensure that an order cannot transition from cart -> address without a line item
Order should be paid when store owe's customer money

Fixes #3318
Fixes #3320
Ensure a useful error is provided when the API attempts to transfer into next state without valid payment information

Fixes #3315
Bump activemerchant dependency to 1.34

Fixes #3319
[api] Actually delete all line items when testing that transitioning without line items breaks
Wrap code example in CONTRIBUTING.md with backticks (`)

Fixes #3332
[backend] wait_for_ajax rather than sleeping for an arbitrary point of time

Conflicts:
	backend/spec/requests/admin/orders/order_details_spec.rb
	backend/spec/requests/admin/products/stock_management_spec.rb
[backend] wait for AJAX request to complete inside order_details_spec test
Shipment#to_package Use symbols for state.

Fixes #3326
Fixes #3327
Use paranoia for deleted_at functionality

Fixes #3321

Conflicts:
	api/app/controllers/spree/api/base_controller.rb
	api/app/controllers/spree/api/variants_controller.rb