Add Phoenix (HBase) SQL dialect
Refactor exception resources: deduce exception class out of generic type parameter
Validate that every message has even number of quotes (MessageFormat requires '' if you mean just single quote)
Avoid dependence on iteration order of test methods in testValidateMessageMatch: test specific resource instead

Also, update cosmetics.
Fix https://github.com/julianhyde/optiq/issues/164, "Improve query performance of optiq over mongo".
Race condition in SpaceList.
Fix https://github.com/julianhyde/optiq/issues/193, "Implement OFFSET and LIMIT in MongoDB adapter".
Fix https://github.com/julianhyde/optiq/issues/195, "Push aggregation into MongoDB adapter".
In MongoDB adapter, rename fields to be mongo-friendly and add test cases.
Add a way to specify list of TraitDefs that will be used by planner when create planner.

Allow PlannerImpl to use a user-specified RelTraitDefs, in stead of default RelTraitDefs.

Add a new getPlanner to FrameWorks to specify the list of RelTraitDef.

Add a unit test case to test planner with explicitly specified list of RelTraitDefs.

Minor change to unit testcase for TraitDef.

Add comment to Framework's new method.
Tweaks.
Add sqlline.bat.

On cygwin, fix sqlline to work around https://github.com/jline/jline2/issues/62.

sqlline now uses build-classpath on both linux and cygwin, in contrast to sqlline.bat, which uses copy-dependencies.
Add dependency on hydromatic-resource-maven-plugin and obsolete our copy of the resource framework.
Fix NPE using TRIM function with JDBC.

Symbols have a null family.
Add methods for dealing with symbols.

Add SqlTrimFunction.Flag.symbol(SqlParserPos), SqlLiteral.booleanValue(), SqlLiteral.symbolValue();
deprecate SqlLiteral.booleanValue(SqlNode), SqlLiteral.symbolValue(SqlNode).
Use Pair<String, String> instead of String concatenation to reduce garbage when searching in Rex expr caches
Avoid creation of stacktrace for internally-used-for-control-flow exception.
This improves exception construction speed.
Minor cleanups: logging, enummap, static class
Add class XmlOutput (based on org.eigenbase.xom.XMLOutput) and remove dependency on eigenbase-xom.
Update history.
Fix https://github.com/julianhyde/optiq/issues/209, "Consistent strategy for line-endings in tests".

"Expected" strings in tests should now use Linux line-endings ("\n"). The code that generates "actual" strings should call Util.toLinux if necessary.

Also, deprecate RelDataTypeFactory.createStructType(RelDataType[], String[]).