Tidied up Style headers.

Binary incompatibility :

- Reordered Style virtual methods.
Updated Style bindings.
Added support for user colour overrides in Style methods.

This also meant adding a new renderNodeFrame() method to distinguish between frames drawn for nodes (where a user colour makes sense) and those drawn as normal frames (where it doesn't).
Added missing forward declare in Metadata.h.
Added support for specifying node, plug and nodule colours via metadata.
Reimplemented UIEditor metadata editing with custom widgets.

These are analogous to the PlugValueWidgets, and will make it easier to implement more complex editing (for colours for instance), and also provide a better API if we need to make it part of the public API at some point.
Fixed bug in ColorChooserDialogue.waitForColor().
Made StandardNodeGadget react dynamically to changes in padding metadata.

You never know, it might be useful for something.
Added useDisplayTransform argument to ColorSwatch constructor.

This allows colours to be specified in display space rather than linear space.
Added useDisplayTransform argument to ColorChooser and ColorChooserDialogue.
Added support for setting node colour in the UIEditor.
Removed custom NodeGadget registration for GUI app.

In practice, we never had any icons installed anyway, so this didn't do anything. Additionally, we're trending towards node graph appearance being driven by metadata as much as possible. Removing this default creator will also make it possible to register custom creators which concentrate on improving node gadget behaviour rather than appearance - for instance by adding custom drag/drop behaviours.
Added basic colour scheme for nodes via startup/gui/nodeGraph.py.

Kindof fixes #89 and kindof fixes #1098 and either fixes or lays the foundations for #154, but I'm sure other people will have different ideas on what colours are best.
Added right click "Set Color..." menu item to nodes in graph.
Tweaked ScenePlug colour in node graph.
Fixed bindings for Metadata types other than simple typed data.

Also introduced new DataBinding.h header with dataToPython() method, to consolidate duplicated code from Metadata and Context bindings.

Fixes #1136.
Merge pull request #1134 from johnhaddon/nodeColors

Basic node/plug/connection colour scheme
Merge pull request #1137 from johnhaddon/vectorTypedMetadata

Fixed bindings for Metadata types other than simple typed data.
Added renderman shader metadata option "shaderTypeOverride".
For example : #pragma annotation "shaderTypeOverride" "ri:shader" will force the Gaffer shader type to "ri:shader".
Merge pull request #1135 from cedriclaunay/newPragmaOverrideShaderType

Cedric addressed John's requests, merging.