19622: Check for duplicates and overlaps in the schedules feed

### Blocked
We're not sure whether this has to be fixed at our end

### Background

So far the feeds we got from dynamite had no duplicated broadcasts or overlaps, that's not the case with the iBL feeds since the nitro information has this issue. This is something being worked on Nitro. In the meantime, we need to make sure that our feeds are free of duplicates or overlaps.

I've separated the logic in 2 functions since it's a bit of a pain to keep track of which ones you've deleted in case you have an overlap and a duplicate at the same time.

The testing approach is very end-to-end, using a fixture. I could've made the `fix*` functions public and test'em with an array of `Broadcasts`, but I think this is simpler. If you want to add more cases to the tests, please suggest them.

https://jira.dev.bbc.co.uk/browse/IPLAYER-19622
I've asked and there shouldn't be off-air gaps... Besides, the approach is now to push for nitro to get this fixed.