Fix for LP #1344181 and a change to control buufer size for Hdfs scan

1) A fix to support "get functions in schema <sch>" and
"get table_mapping functions in schema <sch>"
2) A rework of previous to change to control buffer sizes used by Hdfs Scan.
The previous change attempted to control buffer sizes by minimizing outputs
provided by the scan. But sometimes a parent operator may ask for the scan
to be partitioned or ordered on one of the removed outputs and this would
cause a plan to be not generated. So this chnage does not try to minimize
outputs. BottomValues of updateToSelectMap is manipulated such that if a
scan transforms a value it reads in and makes it smaller in length by more
than 512 bytes (settable by comp_int_98) then only the smaller value is in
the output. The penalty of not having the desired output is that an extra
exchange will be added to repartition data. This change has been done
for all scans though the memory problem was initailly seen for Hive scans.
Please see comment in BindRelExpr.cpp for a better description.

Change-Id: I347096157ea1456f3c95854dca2816018ab607a3
Merge "Fix for LP #1344181 and a change to control buufer size for Hdfs scan"