Create an empty interval set.
Add a labeled interval (if not present) to this set, if it does not conflict with existing intervals.
Labeled intervals conflict if:
For example, if this set is { "A"=[0,10), "B"=[20,30) },
low end of the interval, inclusive
high end of the interval, exclusive, must be greater than start
label to add
an IntervalConflictError if label is already in this set and its interval is not [start,end), or if an interval in this set with a different label overlaps [start,end)
An implementation of IntervalSet.
PS2 instructions: you must use the provided rep. You may not change the spec of the constructor.