Fix ASTERIXDB-1875 UDF in SQL++

1. Fix the bug that if a function created with SQLPP, the callExpr in
   the function body is not normalzied to list input functions.
2. Fix the bug that in SQL++ Query Rewritter, the variables are not
   expanded before the inline the functions.
3. Add test case for this issue.
4. Make SQL++ visitor visits decorVariableExpression.
5. Optimizer test cases update.

Change-Id: I7cf72c690b452dd141efe56f5d7098a6f00cab0f
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1666
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
BAD: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Yingyi Bu <buyingyi@gmail.com>
diff --git a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1806.plan b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1806.plan
index 0ef1ee3..2439f0d 100644
--- a/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1806.plan
+++ b/asterixdb/asterix-app/src/test/resources/optimizerts/results/query-ASTERIXDB-1806.plan
@@ -2,14 +2,14 @@
   -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
     -- STREAM_PROJECT  |PARTITIONED|
       -- ASSIGN  |PARTITIONED|
-        -- SORT_MERGE_EXCHANGE [$$16(ASC), $$17(ASC) ]  |PARTITIONED|
-          -- SORT_GROUP_BY[$$112, $$113]  |PARTITIONED|
+        -- SORT_MERGE_EXCHANGE [$$2(ASC), $$3(ASC) ]  |PARTITIONED|
+          -- SORT_GROUP_BY[$$98, $$99]  |PARTITIONED|
                   {
                     -- AGGREGATE  |LOCAL|
                       -- NESTED_TUPLE_SOURCE  |LOCAL|
                   }
-            -- HASH_PARTITION_EXCHANGE [$$112, $$113]  |PARTITIONED|
-              -- SORT_GROUP_BY[$$80, $$81]  |PARTITIONED|
+            -- HASH_PARTITION_EXCHANGE [$$98, $$99]  |PARTITIONED|
+              -- SORT_GROUP_BY[$$66, $$67]  |PARTITIONED|
                       {
                         -- AGGREGATE  |LOCAL|
                           -- NESTED_TUPLE_SOURCE  |LOCAL|