[TEST]  NonEmptyTest.testNonEmptyCJWithMultiPositionSlicer was failing for two reasons:
1)  During native evaluation, attempts to make a cell request with the "placeholder" compound slicer member in context were failing,
since the #null member is used as the placeholder, and the level associated w/ the null member does not have a level reader.  Also,
the #null member would always be treated as needing to return null.  To address this, swapped the placeholder to be (All).

2)  The tuple list is cached with the CompoundSlicerRolapMember as part of the key, but CSRM did not implement equals or hashcode.

This does not impact Mondrian 3, since Compound slicers are handled directly in native evaluation (MONDRIAN-1420).
Merge pull request #335 from mkambol/testCompSlicer

[TEST]  NonEmptyTest.testNonEmptyCJWithMultiPositionSlicer was failing f...
[TEST]  NonEmptyTest.testNativeWithOverriddenNullMemberRepAndNullConstraint makes a runtime modification of NullMemberRepresentation, and then verifies it can use that representation to query.  The  property isn't intended for runtime modification,
however, since there could be members cached with the previous representation.  To eliminate the risk of testing against an already
populated cache, use a fresh connection.
Merge pull request #336 from mkambol/testNullMem

[TEST]  NonEmptyTest.testNativeWithOverriddenNullMemberRepAndNullConstra...
[MONDRIAN-2135] - adding a loop over the attribute keylist to pick up additional conditions needed when doing exclusion in the constraint
Merge pull request #337 from kurtwalker/MONDRIAN-2135

[MONDRIAN-2135] - adding a loop over the attribute keylist to pick up ad...