Added RecursiveChildIterator::prune() method.

This provides a means of skipping the recursion to children at a particular point of the hierarchy.
Fixed promotion of dynamic colour plugs to boxes.
Refactored StandardGraphLayout::connectNode().

It's going to get a bit more complicated with the in-stream insertion code, so I'm simplifying it a bit beforehand.
Fixed a typo.
Fixed an bug with the InputGenerator that was caused by an uninitialized variable.
Changed Transform2DPlug::Matrix( GafferImage::Format ) to Transform2DPlug::Matrix( const &Imath::Box2i displayWindow, double pixelAspect ) to remove references to the GafferImage module from within the Gaffer module.
Removed debug print statements.
Fixed issue #280: Display now obeys the default format.
Added a test case for the above.
Merge pull request #291 from johnhaddon/dynamicColorPlugPromotionFix

Dynamic color plug promotion fix
Renamed __slide* members to __drag* to clarify their connection with the drag* methods.
Fixed NumericWidget dragBegin errors.

It was returning False rather than None when it wanted to reject drag starts, and instead was starting a drag with BoolData( False ) as a result. This problem is non-existent on the C++ side because of stronger typing, but some "helpful" value converters in the Cortex bindings cause the problem on the Python side. Added some helpful warnings in the Widget documentation to hopefully avoid the same mistakes in the future.
Fixed circular references in plug popup menus.

These were causing the dreaded "RuntimeError: underlying C/C++ object has been deleted" errors by keeping PlugValueWidgets up past their bedtime.
Merge pull request #295 from goddardl/MergeCrash

Input Generator Bug Fix
Merge pull request #296 from goddardl/Transform2DPlugIssue

Removed Transform2DPlug's dependency on GafferImage
Merge pull request #301 from johnhaddon/dragDropFixes

Fixes for "underlying C/C++ object has been deleted"
Implemented const version of correspondingInput() wrapper.
Improved StandardGraphLayout::connectNode(s) to insert in-stream where possible.

"Where possible" in this case means where there is only a single node to connect, only a single connection is made to it, and where it has a compatible pass-through defined by DependencyNode::correspondingInput().
Updated StandardGraphLayout positioning code to use output connections as well as inputs.
Fixing crashing test.
Fixed editability of user plugs.

The Reference node was mistakenly making them uneditable for all node types, rather than just References.