Moved Cortex-specific functionality into new GafferCortex library and module.

The Gaffer core itself remains heavily dependent on Cortex, and always will, but Cortex is a huge beast, and it doesn't make sense to put everything Cortex related into the core of Gaffer. Here we're splitting out "end user" functionality such as OpHolders and ProceduralHolders, so that GafferCortex can be thought of as the user-visible presence of Cortex within Gaffer. This leaves behind a smaller libGaffer where the core concepts of Nodes and Plugs aren't confused by  non-core concepts like Ops and Parameters.

This commit doesn't move the test cases into GafferCortexTest, but instead leaves them in GafferTest with minor tweaks to accept the new TypeIds, but not to use the new namespace. The tests still pass due to the presence of the gafferCortexCompatibility.py startup file, which allows a grace period for dependent code to update to the new module layout.
Moved cortex related tests to GafferCortexTest module.

Updated test cases to use GafferCortex namespace rather than Gaffer - they now pass both with and without the compatibility config file. However, the GafferTest unit tests for the execute app and the dispatcher still rely on using GafferCortex functionality from the old namespace.
Fixed typename prefixes for ObjectReader and ObjectWriter.
Moved cortex related UI to GafferCortexUI.

All existing tests pass, making use of the compatibility startup file.
Moved CortexUI tests to CortexUITest module.

Tests now pass even without the compatibility startup file.
Moved Op browser mode from GafferUI to GafferCortexUI.
Moved ParameterisedHolderNodeUI to ParameterisedHolderUI.

This is in keeping with the naming for other UI files. Also protected the ParameterisedHolderNodeUI class since it hasn't been used externally yet and hopefully one day it can be implemented entirely using Metadata and standard UI features.
Removed ParameterisedHolder menu code from GafferUI.NodeMenu.

Added backwards compatibility through a startup file, and tested with the existing gui startup code.
Updated gui startup to use GafferCortex and GafferCortexUI.
Fixed a couple of references to Gaffer which should be GafferCortex.

Although these weren't causing problems because we have the backwards compatibility config files, we want all our code to use the right modules in readiness for a time when we remove the backwards compatibility.
Fixed problem with ObjectToSceneTest.

It was relying on functionality that had been moved into GafferCortexTest.
Merge pull request #1048 from johnhaddon/gafferCortex

GafferCortex