Return item cancellation

Creating a new return item should cancel any other return items with the same inventory unit.
This ensures an inventory unit can only be active in a single RMA at a time.
This allows history to be preserved but still allow new RMAs to be created to replace old ones.
@jordan-brough i guess it's fine either way b/c if the after_create fails it will rollback the entire transaction