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
Could have sworn I'd tried that... Sadly, my db query methods are written largely through random poking, so no wonder I didn't get it quite right.