fix a bug still caused by https://issues.scala-lang.org/browse/SI-8985#add-comment
all actions now use Expr[String] for interpolatable parameters
flatten & flattenTemp add indexKey into KeySet
fix a bug where null value will cause MapFunction.flattenKey to fail
Various Integration test changes