[MONDRIAN-1766]  Role restrictions are not honored in some cases if the number of MemberGrants exceeds the maxconstraints property value

This change introduces a final pass filter of the tuple list generated by NativeSet to assure that all items in the list are accessible.  Since this could be costly,
it short-circuits the checks except where one or more hierarchies actually have a role restriction defined.
[MONDRIAN-1766]  Code cleanup.  Inlined conditional.
Merge pull request #168 from mkambol/mondrian-1766

[MONDRIAN-1766]  Role restrictions are not honored in some cases if the number of MemberGrants exceeds the maxconstraints property value
[MONDRIAN-1694]  Mondrian applies non empty to native filter when "matches" is used.

This change adds a check for NonEmpty prior to applying a context constraint when evaluating a native filter.  A SqlContextConstraint forces a join to the fact table,
which will drop any tuples not associated with fact data.
Merge pull request #169 from mkambol/1694

[MONDRIAN-1694]  Mondrian applies non empty to native filter when "matches" is used.
[MONDRIAN-1694]  Native filter now omits a join to the fact table in a larger set of cases,
and I missed fixing the expected sql in a couple tests with the previous checkin.
Merge pull request #170 from mkambol/1694

[MONDRIAN-1694]  Native filter now omits a join to the fact table in a larger set of cases,
[MONDRIAN-1696] Makes the mondrian version a generated class.
[MONDRIAN-1696] One small tweak to support TRUNK-SNAPSHOT as a version string.
[MONDRIAN-1785] Pulls up a couple methods form ImpalaDialect into HiveDialect regarding quotes and quoting characters.
[MONDRIAN-1785] Fixes issues with Hive. A lot of SQL related classes had to be fixed. The alias was not used consistently according to the dialect rules. Now all SQL generated uses the aliasses correctly.
[MONDRIAN-1785] Removes the change to MonetDB. Should not have been committed.
[MONDRIAN-1726]  Possible deadlock when number of batches exceeds available connections in the pool

Deadlock could occur if a cardinality query occurred on the actor thread when all db connections were consumed.  See the details of MONDRIAN-1726 for details about
the exact scenario.

This change forces cardinality values to be loaded before issuing a LoadBatchCommand, avoiding the risk of a query happening on the thread.  The down side of this approach
 is that cardinality checks are performed even in some cases where they wouldn't be necessary.  MONDRIAN-1801 is intended to come up with a better solution for Mondrian 4.
[MONDRIAN-1726]  Eliminated RolapUtil.Semaphore in favor of java.util.concurrent.Semaphore.  Our home-rolled version had bugs that show up when testing with low QueryLimit values.
Merge pull request #181 from mkambol/mon1726

[MONDRIAN-1726] Possible deadlock when number of batches exceeds available connections in the pool
shared file update from distribute.groovy
shared file update from distribute.groovy
[MONDRIAN-1819]  Mondrian generates timestamp predicates for date fields.

This is an issue specific to the Oracle jdbc driver ojdbc5 and above, which treats the DATE datatype as a TIMESTAMP.  Because of this, dates can have a value like
'2001-01-19 00:00:00.0', which cannot be used as a DATE literal.  This change to OracleDialect.quoteDateLiteral() assures date literals conform to the ANSI spec.
Merge pull request #199 from mkambol/mon1819

[MONDRIAN-1819]  Mondrian generates timestamp predicates for date fields
[MONDRIAN-1694]  Since a native filter can be used even when the context is not NON EMPTY, the cache key needs to include NON EMPTY state.  Otherwise the resulting tuple
list may not correctly reflect isNonEmpty.