- renamed isBelow, isAbove to hasBelow, hasAbove, reflecting their (clarified) semantics
- renamed is(Closed/Open)(Below/Above) to is(Closed/Open)(Lower/Upper) --- because Below has an upper bound, and Above has a lower bound, the terminology is counter-intuitive
- added sys.error when calling lowerPair/upperPair on empty intervals, because it is leading right now to subtle, difficult to detect bugs
- removed upperPairAsLower, which actually extracts the lower bound of Above(lower) --- and is not used anywhere
- refactored isSupersetOf