Fix bug when reducing number of lead organisations and changing order

Rails loops through associated records and deals with saving or destroying them in order.  Unfortunately this meant we couldn't update the 1st edition organisation to have the organisation of the 2nd edition organisation and then delete the 2nd one as it would violate our db uniqueness constraint.

The solution is to do our own before_update callback that destroys any edition organisations that have been marked for destruction before rails tries to process them. (Rails does it in a after_update).
Fix bug with swapping a lead org to supporting org and changing order

If we move the 1st lead org to be a supporting org, and push the 2nd lead org up to be the 1st we would get errors about duplication.  The problem is that we collect the edition organisation instances from all 3 associations and we weren't reducing the ones we look at for duplication purposes to ignore unchanged instances when we had a changed instance.