DataContext is now allocated at execute time, not prepare time.

Therefore the prepare process returns a Bindable, and Bindable.bind(DataContext) is not called until execute time. As a result, CURRENT_TIMESTAMP is different each time a prepared statement is executed.
Upgrade optiq-spark.
Fix for JDK 1.6.
Canonize RelCollation.EMPTY, so that the canonical map doesn't create a similar one.