[SPARK-3791][SQL][WIP] Provides Spark version and Hive version in HiveThriftServer2

This PR overrides the `GetInfo` Hive Thrift API to provide correct version information. Another property `spark.sql.hive.version` is added to reveal the underlying Hive version. These are generally useful for Spark SQL ODBC driver providers. The Spark version information is extracted from the jar manifest. Also took the chance to remove the `SET -v` hack, which was a workaround for Simba ODBC driver connectivity.

TODO

- [ ] Find a general way to figure out Hive (or even any dependency) version.

  For Maven builds, we can retrieve the version information from the META-INF/maven directory within the assembly jar. But this doesn't work for SBT builds. Some other possible approaches can be found in this [blog post](http://blog.soebes.de/blog/2014/01/02/version-information-into-your-appas-with-maven/).
`SessionState` life cycle control is rather broken and error prone in current code base. Working on a separate PR to fix it.