refactor GetProvider
refactor GetProvider

Get provider needs to be provided with the plugin protocol version,
because it can't be imported here directly.

The plugin url types and methods were confusing; replace them with a few
functions to format the urls.

hashicorp/terraform-plugin-sdk,hashicorp/terraform-plugin-sdk