Validate return item’s exchange variant eligibility

Add a model level validation that checks whether a return item’s exchange variant is eligible for exchange. The validation will be performed when an exchange variant is present and the exchange variant has changed (including on creation).
Line is too long. [112/100]