Add default ReturnAuthorizationReasons

As per chat w/ @JDutil on IRC

Also fix similar ReimbursementType migration

Fixes #5154
RMA form fix and cancel fix

- Remove form field when the return item cannot be added.  Looks weird and it also causes nested attributes to raise.
- Cancel associated return items when canceling an RMA.  Return Item validations will ensure they can be canceled.

Fixes #5156
Revert ReimbursementItem model

This removes ReimbursementItem model and squishes it back into the ReturnItem model.
We split this model out of ReturnItem and we still think that's a good idea.  But we've run into some issues with it so we'll have to look at adding it back in later when we can work through all the details.

Conflicts:
	core/spec/models/spree/reimbursement_spec.rb

cherry-picked from 5c6cbf9e49269e1a6aa6f472c5a7b2501fd321d6 in spree master
Make return item eligibility validator more extensible. Add a validator for RMA presence

cherry-picked from 1bcd2792c18d64a83ee4925720f80227a36de30d in spree master
Allow posting to ResourceController without parameters

When the associated model doesn't require any attributes.
Needed this for some returns & exchanges stuff.
Similar to 3be886f7de8a2f8515633c4d1d218140dc4373bc

Also, beef up ResourceController specs a bit.

cherry-picked from 40623aabdf40a6059480849dcb4af095e8e28b8e in spree master
Create a default calculator to determine a return item's default refund amount

Conflicts:
	core/config/locales/en.yml

cherry-picked from 084f2beaada321682843b0fc3e4d03edd54e7aef in spree master