DRILL-364:
Add new value vectors and holders for the following data types

Date
DateTime
TimeStamp
Interval
Instead of a bi directional map use an array and a hash table for faster retrieval of timezones
Add joda-time dependency to java-exec pom
Cast functions between Date, DateTime and TimeStamp
Comparison functions for Date, DateTime, TimeStamp and Interval

Date, DateTime, TimeStamp comparison functions are simple long comparisons.
Interval comparisons include normalization and comparison of each duration we store (months, days, milliseconds)
Add Time data type
Comparison functions for Time
Expression parser changes for Date, DateTime, Time and TimeStamp

Added a new field to the MajorType, timeZone
Cast functions from String to Date, DateTime, TimeStamp, Time

Temporary workaround: Make the scope of functions to set the value vectors with NullableHolder as one of the inputs as 'public'. Will need to remove this once JIRA-364 is resolved
Cast functions from Date, DateTime, Time, TimeStamp to String
Added capability to define date, datetime, time,  timestamp, interval type literals
Added a sample function "date_add" that adds a date and an interval
Reverse setting the scope of set() functions to public; Was temporary way to get around DRILL-364
Use int for Time type instead of long
Cast functions from VarChar to Interval to support the ISO standard format to represent Interval