intersection fcn for EventIDRange
added a static function to EventIDRange which takes a variable number of EventIDRange arguments, and returns the intersection of them, but getting the maximum of the start() and minimum of the stop().
it's up to the user to test that the range is valid - ie that stop > start, as if there is no intersection, this will result.