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
Wouldn't this also match off air gaps? where previous finished before the next starts?