Changes to support date type

Rebased on latest master (03/27)

Change tests, cast function rules to work with latest master

Change date type names.
TimeStamp -> TimeStampTZ
DateTime -> TimeStamp

Use 4 bytes for millisecond field in Interval, Interval_Day.

Split the templates into multiple files for readability
Add unit test for sorting on date
Remove generating functions for Nullable type, instead use output type handling NullIfNull

Use Joda's string parsing to convert from VarChar to date types instead of our implementation

Remove debug logs and cleanup

Date literal support

Map +, - for date type to the appropriate date functions