internal/providercache: Fix bug when symlink fails
internal/providercache: Fix bug when symlink fails

When installing a provider which is already cached, we attempt to create
a symlink from the install directory targeting the cache. If symlinking
fails due to missing OS/filesystem support, we instead want to copy the
cached provider.

The fallback code to do this would always fail, due to a missing target
directory. This commit fixes that. I was unable to find a way to add
automated tests around this, but I have manually verified the fix on
Windows 8.1.

apparentlymart/terraform,ewbankkit/terraform,pdecat/terraform,ewbankkit/terraform,tommynsong/terraform,rnaveiras/terraform,pdecat/terraform,hashicorp/terraform,tommynsong/terraform,tommynsong/terraform,apparentlymart/terraform,rnaveiras/terraform,pdecat/terraform,apparentlymart/terraform,rnaveiras/terraform,apparentlymart/terraform,hashicorp/terraform,ewbankkit/terraform,hashicorp/terraform,ewbankkit/terraform,apparentlymart/terraform,pdecat/terraform