Refactor ensure_updated_shipments call to be within the OrderContents and OrderPopulator classes to ensure consistency. Fixes #5082
Remove defunkt allow_backord_shipping config. Fixes #4573
Add API to get credit cards for a specific user.

Fixes #5077
Fix whitespacing.
add index API index action of images fixes spree/spree#5081

add newline to end of file

remove extra line

Closes #5083
Default order_factory line_items_count to 1

This took 40 seconds off of the "core" specs on my computer (3min30s -> 2min50s).  I didn't measure the other suites.
Given the speedup it seems like a reasonable thing to do for the cases where you only really need a single item.

Closes #5085
Improve build.sh output

- Add "--quiet" to "bundle update" to silence gem output
- Highlight the beginning of each suite more with some asterisks

Closes #5086
Adds per-shipping-method shipment handlers that can execute custom logic during the 'after_ship' shipping phase.

Fixes #5064
Make sure to associate newly built inventory units to their order
Fixes #5088
Add return item eligibility validator and associated state machine updates. Add a column to persist state transition errors
Fixes #5089
Fix syntax error.
Remove extra " in banner comment

Might have been leftover from when the banner was a simple double-quoted string.

Closes #5093
Make tracking number in admin order view a clickable link, pointing to shipper's tracking website

Closes #5094
Add postal code validation using the Twitter Cldr gem

Closes #5079
Fix Spree::Promotion not applying all of the time.

There was a specific case in which promotions added to an order would
not apply to new items added to the cart. This corrects that by having
the PromotionHandler activate all promotions already associated with the
order as well as any with a blank code and path.

Closes #5072
Adds 'current order' API endpoint

This enables an API client to load a user's latest order. At Bonobos, we
use this to load the user's last active cart.

The find_current_order method is broken out to a separate method to
enable gems like spree-multi-store to customize its behavior.

Closes #5069
Remove unused method
Merge pull request #5099 from xjunior/patch-1

Remove unused method
Reimbursements model & Manual intervention resolution for Returns

- New Reimbursement model which encapsulates the concept of reimbursing a set of accepted return items, which will be reimbursed via one or more reimbursement methods (e.g., refunds, exchanges, store credits, etc)
- Moved refund logic from customer return into Reimbursement
- Ability to resolve "manual_intervention_required" returns items in the Admin UI
- Provide preview of how reimbursements will be parceled out before performing them
- Add a default "ReimbursementPerformer" that figures out how to distribute a reimbursement

Other enhancements/fixes:

- Suggested amounts now update on input changes
- Add generic "success/notice/error" state colors
- New Admin show page for customer returns
- Remove customer return refund endpoint
- new Admin ReimbursementsController & ReturnItemsController

Created by @richardnuno & @jordan-brough

Fixes #5098
Fix broken spec.