Refine orphan_sponsroship_status changes

JIRA task https://osraav.atlassian.net/browse/OSRA-113

- Change sponsorship inactivation so that `orphan_sponsorship_status` is set to 'Previously Sponsored'
- When `orphan_status` changes from 'Active'  to 'Inactive', 'On Hold' or 'Under Review', `orphan_sponsorship_status` changes to 'On Hold' (ineligible for new sponsorship)
- When `orphan_status` changes from 'Inactive', 'On Hold' or 'Under Review' to 'Active', `orphan_sponsorship_status` changes to 'Unsponsored', 'Sponsored' or 'Previously Sponsored', reflecting orphan's sponsorship history

### JIRA
OSRA-113 #Code-Review
OSRA-169 #Code-Review
OSRA-170 #Code-Review
does this need to be a proc?
does `if: :orphan_status_id_changed?` not work ?