BF: Fixed problem merging the start and end dfs for the ip

`_ip_zipper` and `_extract_criteria_match` seem like they could be good functions for all InterestPeriodDefinitions. I'll move them to the parent class for the next commit.

I will override the filtering methods for the new IntervalBasedIP to ensure nonoverlapping time intervals.