Simplified MySQL version checking.

Django used to check the version of MySQL before handling the first
request, which required:
- opening a connection
- closing it, to avoid holding it idle until the first request.

This code isn't necessary any longer since Django dropped support for
some versions of MySQL, and other database backends don't implement a
similar dance. For consistency and maintenability, remove it.

Reverts 4423757c0c50afbe2470434778c8d5e5b4a70925.

Closes #18135.
Fixed #15119 -- Stopped pinging the MySQL server.
Removed duplicate caching of mysql_version.

The manual caching in self.server_version and the cached_property
decorator are redundant.
Implemented PostgreSQL version as a cached property.
Added required methods in BaseDatabaseWrapper.

I should have included this in 29628e0b6e5b1c6324e0c06cc56a49a5aa0747e0.