Fixed a bug with the default format where it wasn't getting passed into the context of the ImagePlug worker threads.
Added a framework for the ImageWriter node and it's bindings. It currently does nothing but it is better than nothing... right?
Added RecursiveChildIterator.

This iterates over all the descendants of a GraphComponent in a depth-first fashion. Because this is pure C++ functionality, it doesn't fit neatly into our python driven unit tests. For now I've defined a c++ function to do the testing, and bound it into python to allow it to be called by the python tests. This seems better than maintaining a separate test framework, particularly because our experience with boost::test in Cortex hasn't been great. In future perhaps we should add our own TEST_ASSERT macros that communicate to the python tests via exceptions of some sort.
Enabled drag-reconnect for CompoundPlug children in node graph.

Previously we were only iterating over the direct children of the node to find plugs suitable for reconnection. Now we use a RecursiveChildIterator to make sure we visit the children of CompoundPlugs too.
Merge pull request #223 from goddardl/DefaultFormatBug

ImagePlug Context Bug.
Added FilteredRecursiveChildIterator.

The test case actually relies on some typedefs from an upcoming commit, but I wanted to commit this on its own so it can be seen in isolation for review - the typedefs affect loads of files with very repetitive changes.
Added typedefs for FilteredRecursiveChildIterator.

Also renamed ChildNoduleIterator to just NoduleIterator to match the rest.
GraphGadget reconnect using the new RecursivePlugIterators.
The image writer can now output images! Still plenty of work to do though... see the todos.
Merge pull request #224 from johnhaddon/recursiveChildIterator

RecursiveChildIterator and drag reconnect fix.
Slashes for Benjamin.
Added more features along with some test cases.
Changed TabbedContainer to allow cropping by SplitContainer.

Previously it wouldn't resize any smaller than the minimum needed to display all tabs. This didn't interact well when trying to collapse a section or when the label for a tab increased in size spontaneously (for instance because it was displaying a node name).

Fixes #93.
Adding workaround for PyQt/PySide pyqtSignal/Signal differences.

We adopt the more standard PySide naming.
Merge pull request #229 from johnhaddon/pyqtSignal

Adding workaround for PyQt/PySide pyqtSignal/Signal differences.
Made suggested changes:
OutputImage is now managed by a shared_ptr.
Flags are fixed.
Merge pull request #227 from goddardl/ImageWriter

Image writer
Resolved the conflicts below.

Merge branch 'master' of https://github.com/ImageEngine/gaffer into ImageTransformNode

Conflicts:
	include/GafferImage/TypeIds.h
	src/GafferImageModule/GafferImageModule.cpp