Fixed IPR bug where shaders could leak onto the wrong objects.

We were using the "scopename" parameter to describe where the shader edits belong. As it turns out, that is treated as a regular expression, and partial matches are accepted. That meant that edits were leaking on to similarly named objects. We now use the "exactscopename" parameter to target the shader edits instead.