DRILL-1192: Hive Scalar UDFs: Add Date, TimeStamp and Decimal type support

Also following refactoring:
+ Minimize the number of variables in HiveTypes.tdd
+ Make use of Hive TypeEntries and Hive AbstractPrimitiveObjectInspector to simplify Drill ObjectInspectors implementations.

Test:
+ Add Hive UDF test implementations and testcases to cover all supported types (passing data into Hive UDF and reading data returned from Hive UDF).