More examples of possible dates for events were added to the test cases. Superset, subset, intersection and no overlap cases are covered.
GcalRange is a new structure that represents a time range. It is always inclusive at the start, and exclusive at the end.