[SPARK-4205][SQL] Timestamp and Date with comparisons / DSL literals

This is the same as pull request #3066, which I closed due to corruption of the repository after I tried to rebase so as to include modifications to a test file added after the original pull request was issued.

There are two parts:
(1) new RichDate and RichTimestamp classes provide comparison operators, which allows them to be used in DSL expressions, and initializers which accept string representations of dates or times;
(2) new implicit conversions are added which allow recognition of DSL expressions which have a literal on the left, e.g. 0 < 'x . 
Thanks @liancheng,  I was wondering about that.  I will remove them.

On Mon, Nov 10, 2014 at 2:09 AM, Cheng Lian <notifications@github.com>
wrote:

> In
> sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/SpecificMutableRow.scala:
>
> > @@ -169,6 +170,35 @@ final class MutableByte extends MutableValue {
> >      newCopy.asInstanceOf[this.type]
> >    }
> >  }
> > +final class MutableDate extends MutableValue {
>
> According to our discussion here
> <https://github.com/apache/spark/pull/3066#discussion_r19784664>, these
> two classes are not necessary.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/apache/spark/pull/3158/files#r20070128>.
>