Enable/Disable Behaviour for Nodes
Nodes can optionally define a means of being enabled and disabled. If they do, then they can also specify an input plug corresponding to each output plug. By providing a corresponding plug, the node is promising that the input will pass-through to the output in some meaningful way when the node is disabled.

Implemented correspondingInput for SceneProcessor and ImageProcessor.
Replacing uses of "enabled" to locate the enabled plug with calls to enabledPlug()
fixing bindings for enabledPlug and correspondingInput
ScriptNode::deleteNodes optionally attempts to maintain data flow.
By default, deletedNodes will try to rebuild the network to act as if the deleted nodes had been disabled. This is accomplished using enabledPlug() and correspondingInput() to re-wire compatible input plugs to the expected output plugs. This behaviour can be disabled by specifying reconnect = false.
fixing potential infinite loop
Merge branch 'deleteMaintainsConnections' of https://github.com/andrewkaufman/gaffer into andrewkaufman-deleteMaintainsConnections

Conflicts:
	Changes