DRILL-2353: Add interpreter based partition pruning.Integrate Jacques's interpreter based partition pruning with Jason's interpreter refactoring that removed interpreter module and added that functionality in the exec module.Ensure boolean operators are correctly handled when traversing expression tree to find partition filters.Resolve merge conflicts after rebasing to master branch.Additional fixes for handling OR conditions.
DRILL-576: Add costing - new plans for joins and aggregations, including distributions. - Utilize GroupScan getSize() for costing - Add cleanup() methods to MergeJoinBatch and HashJoinBatch. - Don't match hash aggr rule if number of grouping cols is 0. - Fix initialization of maxOccupiedIndex in HashAggr and HashTable. - Fix less-than comparison for cost when row counts are the same. - Improve fragment identification for better debugging.