Merge pull request #123 from hbutani/hive

Remove references to VolcanoCost from RelSubset.
Separate cost model (RelOptCostFactory) from planner.
Fix 3 race conditions.

Two of the race conditions involved involving trait caches. The other was indeterminacy in type system when precision was not specified but had a default; now we canonize TIME to TIME(0), for instance.
Increase test parallelism.
Fix https://github.com/julianhyde/optiq/issues/119, "Comparing Java type long with SQL type INTEGER gives wrong answer".
Clean up maps and other static data.
Fix SqlValidator to rely on RelDataType to do field name matching.  Fix RelDataTypeImpl to correctly use the case sensitive flag rather than ignoring it.
Code formatting.
Add maven-checkstyle-plugin.

Configuration file was copied from Apache Giraph.

Plugin is enabled only in 'checkstyle' profile. Use 'mvn -Pcheckstyle -DskipTests verify'. There are lots of violations right now.
Fix checkstyle exceptions.
Oops! (Fix JDK 1.6 and JDK 1.7.)
Enable optic consumer to utilize different lexing settings in Frameworks/Planner
Code formatting.
Enable checkstyle in "verify" phase. Code formatting.
Break SqlTypeStrategies into OperandTypes, ReturnTypes and InferTypes, and rename its static members to upper-case, per checkstyle.

Upgrade "spark" module and fix checkstyle exceptions.
checkstyle: import order.
checkstyle: import order. (Missed a few.)
Add Util.hashCode(double).
Allow VolcanoPlanner to be sub-classed with different cost factory. Make VolcanoCost immutable.
Move checkstyle config files.