Disabled VectorDataWidget remove button when selection is empty.
Selected newly added rows in VectorDataWidget.

Also grabbed keyboard focus so the new row can be edited immediately.

Fixes #204.
Fixed double update in VectorDataPlugValueWidgets.

When setting the plug value after rows were added, they weren't disabling the _updateFromPlug() call that would be triggered. This meant they would call VectorDataWidget.setData(), wiping out the carefully added selection,
Fixed VectorDataWidget button highlighting bug.
Removed unused includes from DependencyNode.cpp.
Guaranteed order of Metadata::registered*Values().

Base class values first, sorted by order of registration. Derived class values second, sorted by order of registration. Instance values last, sorted by order of registration.
Added plug presets methods to Gaffer.NodeAlgo.

Presets are defined via Metadata entries. The available presets may be queried and then applied to a plug.
Added presets to PlugValueWidget popup menu.
Added GafferUI.PresetsPlugValueWidget.

This is driven by presets registered as metadata entries, and over time will replace the EnumPlugValueWidget.

Fixes #1113.
Added CameraUI as an example of using PresetsPlugValueWidget.
Merge pull request #1119 from johnhaddon/vectorDataWidgetImprovements

VectorDataWidget improvements
Merge pull request #1120 from johnhaddon/presetsMetadata

Plug presets metadata