[SPARK-2218] rename Equals to EqualsTo in Spark SQL expressions.

Due to the existence of scala.Equals, it is very error prone to name the expression Equals, especially because we use a lot of partial functions and pattern matching in the optimizer.

Note that this sits on top of #1144.

`fail(s"unexpected cast $c")` would be more concise.