[SPARK-3065][SQL] Timestamp support in the parser

If you have a table with TIMESTAMP column, that column can't be used in WHERE clause properly - it is not evaluated properly. [More](https://issues.apache.org/jira/browse/SPARK-3173)

- [x] modify SqlParser so it supports casting to TIMESTAMP (workaround for item 2)
- [ ] modify Comparable expression evaluation so the the explicit casting is not necessary
why don't you use String as Timestamp? I don't think add another TimestampType is a good idea. It makes the datatype complex. 

Besides, if you want to add it in Filter part (where ~~) it will lead to a big problem, such as the logic of EqualTo and c2 functions in file predicates.scala.