[MONDRIAN-1729][SP-632]  "Query required more than 12 iterations" error when query should complete.

This change addresses a case where the ordering in which segments are processed by SegmentBuilder.rollup() could impact the resulting segment.  In some cases,
if a column of the second axis was wildcarded, it could incorrectly result in the axis being set as having incompatible predicates (lostPredicate=true).  Similarly,
the intersecting values could be mishandled, depending on the ordering of segments with wildcarded columns.
Test cases committed with this change check for equivalent rollups with segments processed in forward and reverse order.
(cherry picked from commit 2cdffbe64ee6a9e46ce9f4c084ab547e1786ed54)
[MONDRIAN-1729][SP-632] Missed a case where the first header loaded (used for initializing the AxisInfo) contains a wildcarded column that should be downgraded to
a specific list when computing segment intersection.
(cherry picked from commit 25eba12)
[MONDRIAN-1729][SP-632]  Made the segments list an UnmodifiableArrayList.
(cherry picked from commit 76eb9a3)
Merge pull request #163 from mkambol/SPmon1729

[MONDRIAN-1729][SP-632] "Query required more than 12 iterations" error