[SPARK-3363][SQL] Type Coercion should support every type to have null value

Type Coercion should support every type to have null value
But I think in the future we should also support complex type promotion in `findTightestCommonType(t1, t2)`. Anyway we can extract the current `findTightestCommonType(t1, t2)` as a util function. What do you prefer?