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 #1120 from johnhaddon/presetsMetadata

Plug presets metadata