Added a generic Switch node.

This is templated on its base type, and implemented in a totally generic way so it should in theory work with any sort of ComputeNode as it's base. The intention is to use it to implement a SceneSwitch and an ImageSwitch, but in this commit the functionality is tested with simpler types.
Renamed SceneContextProcessorBase to SceneMixinBase.

This is in preparation for using it with Gaffer::Switch to produce a SceneSwitch. The new name reflects its ability to be used with any of the Gaffer mixin classes - this isn't quite the case yet but the upcoming commits to implement SceneSwitch will correct that.
Added a SceneSwitch node.

This simply mixes together SceneMixinBase and Switch and sits back and watches the results.
Separated bindings for Scene mixin classes.

GafferSceneModule.cpp takes way too long to compile - we need to continue splitting out sensible little chunks into their own files.
Added ImageTimeWarp, ImageContextVariables and ImageSwitch.

These are implemented using the same mechanism as SceneTimeWarp, SceneContextVariables and SceneSwitch - simply mixing in functionality from the generic classes in the Gaffer module.

Deprecated GafferImage::Select as it is now superceded by ImageSwitch - it remains in the build for backwards compatibility but has been removed from the node menu.
Added DependencyNode compatibility to Switch class.

Prior to this, Switch needed to derive from ComputeNode so that it could implement switching using hash() and compute(). Now it can also derive from DependencyNode, in which case it implements the switching by making an internal connection from the appropriate input to the output.
Added a ShaderSwitch node.
Stopped ShaderAssignment rejecting inputs of unconnected Switches.

Also fixed a bug which meant it would accept invalid inputs if it was inside a Box - the test in acceptsInput() was just checking whether or not there was a Box anywhere above the source plug in the hierarchy, when it should have only been accepting Boxes immediately above the plug.