Timestamp and Date classes which work in the catalyst DSL.

These Timestamp and Date classes support the usual comparison operators, so the can be used in catalyst Expressions.  The come with implicit conversions to and from the underlying Java classes.  They also have a convenient initializer which accepts a String.

Additional implicit conversions fix an issue with the DSL where expressions like 0 < 'x are not recognized.

An independent change adds a method to Row for creating a row from a sequence of Strings and a schema.
I guess you moved this line here because `DateType` and `TimestampType` are more tightly related. This is consideration is legitimate and I'd also choose this order if I were the original author. However, this change introduces larger probability of future merge conflicts, while the benefit is rather limited. Same principle applies to all other similar reordering changes related to `Date` and `Timestamp` in this PR.