[SPARK-3988][SQL] add public API for date type

Add json and python api for date type.
By using Pickle, `java.sql.Date` was serialized as calendar, and recognized in python as `datetime.datetime`. 
Also, could we guess the DateType given a String in Date format?

We also should do this for TimestampType, it will be great if you could fix them in this PR.