Temporary fix for [OPTIQ-390] Transitive inference (RelMdPredicates) doesn't handle semi-join
[OPTIQ-389] MergeFilterRule should flatten AND condition
SqlRun: Carry on after certain errors (e.g. AssertionError). Add 'if (true)' command.
[OPTIQ-387] CompileException when cast TRUE to nullable boolean
[OPTIQ-373] NULL values in NOT IN sub-queries
[OPTIQ-344] Lattice data structure
[OPTIQ-393] If no fields are projected from a table, field trimmer should project a dummy expression

Be careful not to create a dummy on top of a dummy.

Close apache/incubator-optiq#8 which was the original attempt to solve the problem of zero-field relational expressions.
[OPTIQ-392] RelFieldTrimmer should use factory to create new rel nodes

Add SetOpRel.kind, to distinguish between UNION, INTERSECT, MINUS (aka EXCEPT).

Close apache/incubator-optiq#9
[OPTIQ-269] MongoDB result sets larger than 16MB

Detects the version of mongod to determine which kind of intermediate
result to utilize.

For versions 2.6+, a Cursor result will be returned form the
DBCollection otherwise a AggregationOutput result is returned.

An Iterator<DBObject> object is retrieved from the intermediate result
and returned by MongoTable.aggregate.

Updated dependency in for mongo-java-driver in master/mongodb/pom.xml:

    <dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongo-java-driver</artifactId>
      <version>2.12.3</version>
    </dependency>

Close apache/incubator-optiq#6
Removed hardcoded foodmart schema information