Add a call to advance an order as far as it can go

This is related to #3336, as the backend has been changed to add line
items through the API, but the desired functionality is to continue the
order as far through the checkout process as possible after items have
been added.

Extracting this 'advance' into its own API call will let us remove the
while @order.next; on in spree/admin/orders_controller#update on the
backend.

Explicitly advance an order on variant changes

Previously, correct behavior relied on GET orders/edit advancing an
order as far ahead as possible. This explicitly moves the order as far
ahead as possible rather than relying on the behavior of the GET edit to do
so

Related to #3336

Fixes #3662

Conflicts:
	api/app/controllers/spree/api/checkouts_controller.rb