Refund preferences & Reimbursement Items

- Allow admins and customers to specify refund types
  - Provide a field for customers to specify a refund method preference at RMA time
  - Allow admins to specify an override refund method at reimbursement time
- Break out reimbursement_items from return_items into a separate DB table
  - Paves the way for non-return reimbursements. It also makes ReturnItem a bit simpler.

Minor:

- Fix the x icon on select2 selectboxes.
- Convert CustomerReturnsController into a ResourceController

Generated by @jordan-brough and @richardnuno

Fixes #5146
Default credit card per user

When an order is completed, we save the credit card used as the user's
default credit card. When creating a new order, we use an existing
credit card (if it exists) and attach it to the order before reaching
the payment state.

Fixes #5148