[SPARK-3343] [SQL] Add serde support for CTAS

Currently, `CTAS` (Create Table As Select) doesn't support specifying the `SerDe` in HiveQL dialect. This PR will pass down the 'ASTNode` into the operator 'execution.CreateTableAsSelect', which will extract the `CreateTableDesc` object via Hive `SemanticAnalyzer`, and then create the table
Not duplicating the code of `DDLTask.createTable()` will makes our code more cleaner, I will take look at this.