[MONDRIAN-1949] Add generic method to identify a database product.
Use the new static method on the Dialect as the fallback means to
determine the database product. Take advantage of equalsIgnoreCase
as it does null checks, and it handles case properly, and optimizes
for ordinary equivalence. Add NuoDB Dialect support, and related
documentation.
[TEST] The legacy SteelWheels schema had some levels in [Markets] incorrectly flagged as uniqueMember=true.  This was causing a test failure.  Also, one of the measure
 values in the expected results was clearly incorrect.  The "58,396" value for [Central Hong Kong] is nearly 100x the value for all of [Hong Kong].  Verified the
 correct value is 596.
[TEST] Test failing in 4.0 due to constraints being set incorrectly for a role which permits multiple members (i.e. MultiCardinalityDefaultMember).  In 3.x this
was not an issue because of a check that verified members were of type RolapCubeMember before constraining the request to that member.
Merge pull request #282 from mkambol/testFixes

[TEST] fixing 2 tests, 1 failing due to errors in the SteelWheels schema, the other to an issue in cell req constraint.
[TEST] Fixes to two more tests in SteelWheelsSchemaTest in lagunitas.  One was failing due to a missing type check that's present in 3.x.  The other was failing
because properties with type Timestamp were being mapped to TYPE_OTHER rather than TYPE_TIMESTAMP.
Merge pull request #283 from mkambol/testFix2

[TEST] Fixes two more tests in SteelWheelsSchemaTest in lagunitas.  O...
[TEST] 2 test of non-collapsed aggregates needed to be updated to use M4 schema.
Merge pull request #284 from mkambol/testFix2

[TEST] 2 test of non-collapsed aggregates needed to be updated to use M4  schema.
[TEST] fixing tests in TestAggregationManager which were failing due to the PhysRouter being set to BadRouter in BatchTestCase when creating cell reqeusts.  BTC will now
attempt to determine a CubeRouter for the cube and column in question.
Merge pull request #285 from mkambol/testFix3

[TEST] fixing tests in TestAggregationManager which were failing due to ...
[TEST] Fixes to incorrect M4 schemas and member naming.
Merge pull request #286 from mkambol/testFix3

[TEST] Fixes to incorrect M4 schemas and member naming.
[TEST] Modified testCrossJoinAsteriskQuery() to use a supported dimension in the crossjoin.  This test formerly crossjoined [Store], which is uses a ReferenceLink
in the [HR] cube.  ReferenceLinks are currently unsupported (MONDRIAN-1337).  Also updated an expected SQL query to be consistent with null ordering changes that came with
 e82aa414.
Merge pull request #287 from mkambol/testFix3

[TEST] Modified testCrossJoinAsteriskQuery() to use a supported dimensio...
[MONDRIAN-2044] Measure values aggregated on a hierarchy with partial rollups can be incorrect.
Not all accessible members were being returned by getLowestMembersForAccess.

Also fixed a test with an incorrect expected value based on the former behavior.
Merge pull request #293 from mkambol/mon-2044

[MONDRIAN-2044] Measure values aggregated on a hierarchy with partial ro...
[MONDRIAN-2022]  Loosening access on makeCompoundPredicate so that mongolap can use it.
Merge pull request #294 from mkambol/MONDRIAN-2022

[MONDRIAN-2022]  Loosening access on makeCompoundPredicate so that mongo...
[MONDRIAN-1978]  Modifying childName to be default access in ChildByNameConstraint, also making the utility function .membersAreCrossProduct() public, for use when applying constraints in external
data service providers.
Merge pull request #295 from mkambol/childByName

[MONDRIAN-1978] Modifying childName to be default access in ChildByNameConstraint,