source_eval wasn't looking at package refs for explicit provider
resources, only when building default providers. This meant that
explicit provider resources for parameterized packages would fail to
construct as they wouldn't be able to find their plugin.
This fixes source_eval to check for PackageRef and set all the required
fields from the provider request it maps to.
The test now checks that destroy works, and also that the parameterized
provider state is what we expect.
This required flipping around some of the state managment around reading
and writing provider inputs.