[ORC-RT] Add IntervalMap and IntervalSet collections. (#155073)
IntervalMap is an optionally-coalescing map: it uses half-open ranges as
keys, allows lookups based on elements of the ranges (returning an
iterator to the containing range) and optionally coalesces adjacent
ranges that have the same value.
IntervalSet is an optionally-coalescing set based on IntervalMap.
These collections will be used to store address-range information in the
ORC runtime.