[SPARK-3007][SQL]Add "Dynamic Partition" support to Spark Sql hive

a new PR base on new master.  changes are the same as https://github.com/apache/spark/pull/1919
Yea, I also realized this. Renamed this to `initWriters` and merged it into `executorSideSetup`. Also merged the `commit()` call into `close()`.