tests/provider: Fixes for testing provider re-configuration (#16018)
tests/provider: Fixes for testing provider re-configuration (#16018)

Applies two fixes for provider re-configuration issues:

* The `testAccProviderFactories` map should always return a new provider instance every invocation, otherwise concurrent testing with differing provider configurations can overwrite each other since the testing framework can reuse the same underlying  provider instance address across multiple gRPC plugin configurations.
* The `testAccPreCheck()` function is invoked for every test and unnecessarily verifies and reconfigures the "main" provider instance every time to the same configuration.

Adds comments around all this functionality to hopefully make this section of the code clearer for future travelers.
terraform-providers/terraform-provider-aws,terraform-providers/terraform-provider-aws,terraform-providers/terraform-provider-aws,terraform-providers/terraform-provider-aws