TVG - Multi Overlaps and faulty window of time Fix

Introduced logic and unit test for schedule multi overlaps. 

Start/End times array:
'06:00' | '06:10' 
'06:00' | '08:00'
'06:10' | '06:20'
'06:20' | '06:35'
'06:35' | '06:45'
'06:45' | '06:55'
'06:55' | '07:00'
'07:00' | '07:05'
'07:05' | '07:20'
'07:20' | '07:30'
'07:30' | '07:45'
'07:45' | '08:00'
'08:00' | '10:00'

Should produce:
'06:00' | '08:00'
'08:00' | '10:00'

Also important to not break any of the current duplicates/inside/gaps/overlaps logic.

https://jira.dev.bbc.co.uk/browse/IPLAYER-20048
So the inverse works. But the `!$previous` check still needs to pass and skip to next iteration if there is no previous.