Currently, the functions regarding overlapping ranges within range_arithmetic.h and range_arithmetic.cpp work only with BSONObjIndexedMap<CachedChunkInfo>.
We should template these functions so that they can work with any type of BSONObjIndexedMap<T>.