Checks whether a stage allocation is non preemptive or not.
Assumption: the intervals are non-intersecting (as returned by
computeStageAllocation()).
For a non-preemptive allocation, only two end points appear exactly once