More reasonable order payment state logic

For simplicity sake. Admin users can still go to the orders specific
payments section for more detailed info on payments
Remove Spree::Stock::OrderCounter

This is unused as of 15122ec, when the Stock::RemainingPacker was
removed.

Fixes #4659
Revert "Refactor Shipments API & JS."

This was acciddentally committed. Original is 5224bf294163b168fd1ee5cc760187ec9d83c26f

This reverts commit 715311656d14f5ff7cfe9e837f8998721496c8f4.
Revert "Add shipments API back under orders"

This reverts commit ab17831db1f1f2c8a7fca78dda97e9f7e13dbeef.
Drop api/checkouts#create and api/checkouts#show

They already exists in api/orders
Move find_order to before_filter in api/orders
Drop order.update! in api/orders#empty

All work to empty an order should probably stay in Order#empty no need
to evil update!
OrderContents#add already saves a line item
Use OrderContents#update_cart in api/orders to update it

Rather than duplicating stuff already provided by spree_core
Drop useless api/orders#next! private method
Drop line items stuff from api/checkouts controller
Drop duplicated call in api/line_items#update

OrderContents#update_cart already call Order#ensure_updated_shipments
Updating price must touch variants to bust cache.