[SPARK-3575][SQL] Removes the Metastore Parquet table conversion hack

This PR tries to remove the Metastore Parquet conversion hack by moving the conversion logic to `HiveMetastoreCatalog`, i.e., convert `MetastoreRelation` to `ParquetRelation` when we find that the Hive table is backed by Parquet, and make the converted `ParquetRelation` inherit the original Hive schema. As a side effect, `spark.sql.parquet.binaryAsString` can be removed since Metastore field types are now reserved.

TODO

- [x] Add tests
- [x] Fix partitioning tests failure
- [x] Remove `spark.sql.parquet.binaryAsString`
- [x] Code cleanup

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/apache/spark/3441)
<!-- Reviewable:end -->

Why are you removing this configuration option?  Don't we still need it to read data that was written by old versions of Spark SQL / impala / hive?