DRILL-281 Add broadcast sender
Add a unit test case using TPCH related queries.
DRILL-316: Implement explicit casting
Includes following changes:

Parse syntax to support explicit cast function in physical or logical plan.

prototype of explicit casting : parsing from plan's expr, and call generated cast code.

Prototype of explicit cast with unit test.

explicit cast: create different cast for type with fixed size vs with var size.

explicit cast : minor change in comments, varname, etc.

Drill-316 : explicit cast. change func def for cast with var size.

Drill-316: minor change in unit test case for explicit cast.

Drill-316 : modify the function def for cast functions.

DRILL-316: prototype impl of cast from/to var-length type.

Dirll-316 : add test case for explicit cast.

Drill-316: explicit cast into varchar type from int, bigint, float4, float8. unit test physical plan added.

Drill-316: change parser syntax for explicit cast. Add more test case physical plans.

DRILL-316: explict cast. Use functiom template to generate all cast functions. Currently, excplict
cast supports cast between int, bigint, float4, float8, varchar, varbinary. (total 30 combinations).

Drill-316: explict cast - add test case for nested cast functions.

Drill-316: minor change to function template for explicit cast.

DRILL-316: add junit test case for explict cast, using 7 json physical plans.

DRILL-316: explict cast. remove a test json file.

DRILL-316: explicit cast. add a json testcase.

DRILL-316: check return type for function resolution. delete two un-needed test json files.

Drill-316: code change for review comment 1 and 2.

Drill-316: address review comment 3.

Drill-316: address testcase comments.

Drill-316: Decode byte array directly into int/long, when cast varchar/varbinary into int/bigint.

Drill-316: minor change to grammer rule for cast.
DRILL-259: Implicit cast precedence work

Includes following changes:
Created resolvers and mini precedence map

changed operator resolution by adding getCost method

Updated precedence map for operator resolution - typecast

Modified DrillFuncHolder:getCost() to allow null arguments type in cast

Cast Null arg precedence

Added type cast rules : isCastable()

Added type cast rules : isCastable()
DRILL-259: Implicit cast functionality

Includes following changes:

Implicit cast : WIP.

Implicit cast: work in progress 2.

implicit_cast: workin in progress 3.

implicit cast : work in progress. Prototype works.

Implicit cast: add unit testcase. Handle null vs non-null type.

Implicit cast: add unit test. change comparision operator's allsame from true to false.

Drill-259: implicit cast. Rebase on Drill-316 explicit cast branch.

DRILL-259: implicit cast . reverse change to codegenerator.

DRILL-259: implicit cast. code clean.

DRILL-259: code clean.

Drill-259: add apache license to 7 new java files. reverse the change to pom.xml

Drill-259: minor change to test case.

Drill-259: implicit cast - process NullExpression. Convert NullExpression into TypedNullConstant.

Drill-259: implicit cast. Revise according to review comments.
Merge remote-tracking branch 'apache/master' into hive