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.
Bumped version to 0.95.0 and updated Changes file.
Consolidated FilteredSceneProcessor filter access into helper methods.

At a later date this will give us a single place to control the Context in which filter queries are made.
Added GAFFERTEST_ASSERT macro.

This allows test failures on the C++ side to be reported to Python, rather than just exit as they did before.
Derived Context::Scope from boost::noncopyable.

Because copying them makes no sense whatsoever.
First pass at SetFilter.
Added further unit tests for SetFilter.
Made SetFilter compatible with Isolate and Prune nodes.
Improved FilteredSceneProcessor documentation.
Added UI file for SetFilter.

This includes a useful right click menu for populating the set plug with the names of sets available in the connected scenes.