DT: Fix sparse vector to float8[] casting bug

JIRA: MADLIB-1234

The cast to float array (float8[]) should be evaluated before we access
the individual elements of the array, otherwise we encounter a strange
notation such as feature::madlib.svec::float8[][1]. A simple addition of
parentheses should fix the issue ((feature::madlib.svec::float8[])[1]).

Co-authored-by: Orhan Kislal <okislal@pivotal.io>
diff --git a/src/ports/postgres/modules/recursive_partitioning/decision_tree.py_in b/src/ports/postgres/modules/recursive_partitioning/decision_tree.py_in
index 99ddce2..6f64234 100644
--- a/src/ports/postgres/modules/recursive_partitioning/decision_tree.py_in
+++ b/src/ports/postgres/modules/recursive_partitioning/decision_tree.py_in
@@ -147,7 +147,7 @@
                                         FROM {tbl}
                                         LIMIT 1
                                      """.format(f=feat, tbl=training_table_name))[0]
-            final_feature_list += ["{f}[{i}]".format(f=feat, i=i)
+            final_feature_list += ["({f})[{i}]".format(f=feat, i=i)
                                    for i in range(feat_dims['l'], feat_dims['u'] + 1)]
         else:
             final_feature_list.append(feat)