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.
Fixed bug with references containing non-default plug values.

The problematic sequence of operations was as follows :

- User creates a Box and promotes a plug to it.
- User changes the value of that plug to something other than the default, and publishes it as a reference.
- User references in the file, and sets the plug back to the default.
- User saves the new file, but the plug value is not serialised, because it is at the default.
- User loads the file again, the plug value has reverted to the one in the reference.

The fix employed here is to always serialise all values for plugs held directly on a Reference node. It may be nice to have an explicit means of specifying this behaviour via a plug flag or some other mechanism, so that the ValuePlugSerialiser doesn't need explicit knowledge of References, and we can use the same mechanism in other nodes where necessary. I'd like to leave this for future consideration though - I think we'll learn more and have further requirements/use cases when we come to look into implementing GiftBoxes.
Merge pull request #840 from johnhaddon/iprBugFix

Fixed IPR bug where shaders could leak onto the wrong objects.
Merge pull request #844 from johnhaddon/referenceDefaultValueFix

Fixed bug with references containing non-default plug values.