Refactor stock related service objects to deal with inventory units.

Prior to this change, stock related service objects (coordinator, packer,
prioritizer, package, adjuster) were tightly coupled to orders and line
items, such that they would only create a set of shipments for the set
of line items for an order.

This change makes those objects work with inventory units, which enables
future enhancements that would create shipments for an order that are
not necessarily tied to the initial purchase (e.g. upcoming exchanges
work).

Fixes #5042
Customer returns

Introduces customer returns which represent getting merchandise back from the customer. The presence of a customer return (and it’s associated return items) indicate that a customer has returned something and the store has received it. A customer return also has an associated stock location which indicates where the customer has returned the merchandise.

Customer returns replace the “Receive” button behavior in return authorizations. Receiving an RMA would be achieved by creating a customer return and selecting all the items in an RMA. Given that a customer return is not tied to a particular RMA, it allows a store to accurately represent what is returned. The logic to whether each particular item should be accepted or rejected will be handled in a future PR.

Once the customer return is created, the admin can refund the customer for the customer return’s total amount similar to the refund button in RMA.

Fixes #5055
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