Fixed InteractiveRenderManRenderTest for slower machines.
Replaced forwardDeclarations with a private set for lights.

The "gaffer:forwardDeclarations" global entry was our slightly ad-hoc way of tracking the location of lights in the scene. It is now replaced with a private set called "__lights", and all the old code for keeping forward declarations accurate when the hierarchy changes has been replaced with more general purpose code for keeping sets in sync with the hierarchy. This both makes sets more useable and pleasingly tidies up one of the more untidy corners of Gaffer.