Pass an expression executor to RexUtil.simplify for constant reduction

Details

Description

Allow for custom RelOptPlanner.Executor in RexUtil.simplify. RexUtil.simplify (and derivatives) use a default EXECUTOR for evaluating literals and expression in simplifyCast. This causes value differences from Hive, triggering issues like CALCITE-1650, CALCITE-1651.