Fix multithreading for Hive tests

The initialization should happen once for the class and not for each method
invocation. Otherwise, the initializations will stomp on each other.
Canonicalize expressions before analyzing join criteria

The expression interpreter only understands a subset of expression types
Remove unnecessary method
Simplify generation of IN with huge lists

Don't use a custom FunctionBinder. Instead, bind the set as a constant using invokeDynamic
and emit an invokeStatic call to the helper "in" method.