[MONDRIAN-2107] Incorrect segment rollup with overlapping segments.

There was the possiblity of creating invalid segments if rolled up segments overlapped and/or were unconstrained for one or more columns.
This commit adds checks for cases where more than one segment has an unconstrained column (i.e. requestedValues=null) and merges the value sets.  This avoids "losing" values.  Also added verification that cells being added to a rollup haven't already been added (if there's an overlap).
    (cherry picked from 5800587)