[SPARK-3407][SQL]Add Date type support

I considered this question again and now think when comparing same types, it is better not to convert to string but write `compareTo` methods for them, since the native `compareTo` method of `java.sql.date` seems not consistent with `DateWritable`. I'll do a quick follow up.