Commit fixes for compiling on ubuntu 12.04
More compilation fixes and dead code removal
Further cleanups to my previous patches to make code consistent.
Added many missing IntrusivePtr typedefs in GafferImage.
Added visualisation of clipping colours in the Viewer.

Fixes #572.
Added metadata for ImageView plugs.
Made Boxes export all non hidden plugs for referencing

Box.exportForReference() now only skips exporting plugs starting with "__", as per an email conversation with John. This will soon become a production requirement as we start needing boxes with shader inputs and what not...
Updated default boost version to 1.51.0.

We had been stuck back on 1.43.0 because Arnold required it - but since 4.1 this is no longer a problem. Also removed the weird boost build option I'd needed previously for the OS X build, and removed some out of date comments about OIIO.
Added dependenciesPackage build target.

This can be used to make a package of prebuilt dependencies to seed a build from.
Added failing test for nested Boxes.

It seems that the creation code is recursing down to nodes within nodes and promoting internal plugs unnecessarily.
Added RecursionPredicate to FilteredRecursiveChildIterator.

The existing Predicate dictated what type of GraphComponents would be visited by the iterator, but provided no means of specifying when recursion should happen - so the iterator would traverse the entire tree looking for items matching the predicate.

The new RecursionPredicate controls the pruning of the recursion, providing an easy means of avoiding recursing into parts of the hierarchy within the iterator itself, without having to manually prune all the time. The default value for this predicate keeps compatibility with existing code.
Redefined RecursivePlugIterators to not recurse to other nodes.

Prior to this, when iterating the plugs on one node, the iteration would also recurse to the plugs of any child nodes of the root node. This is not what we want generally, and not what our current use cases of the plug iterators assume. This fixes the recently added nested Boxes bug, and no doubt a number of other problems which were biding their time before showing themselves.

It's still possible to perform the previous sort of recursion using a custom FilteredRecursiveChildIterator typedef if necessary, but no typedefs are provided for it out of the box because it seems to not be a common pattern.
Merge pull request #682 from johnhaddon/dependencyPackaging

Added dependenciesPackage build target.
Merge pull request #683 from johnhaddon/compoundNodesInBoxes

Compound nodes in Boxes
Merge pull request #677 from johnhaddon/clipping

Showing clipped colours in the image viewer
Merge pull request #680 from davidsminor/boxExportingCustomPlugs

Made Boxes export all non hidden plugs for referencing
Merge branch 'master' of https://github.com/bms20/gaffer into bms20-master
Fixed minor tabs vs spaces issue.
Added a generic Switch node.

This is templated on its base type, and implemented in a totally generic way so it should in theory work with any sort of ComputeNode as it's base. The intention is to use it to implement a SceneSwitch and an ImageSwitch, but in this commit the functionality is tested with simpler types.
Renamed SceneContextProcessorBase to SceneMixinBase.

This is in preparation for using it with Gaffer::Switch to produce a SceneSwitch. The new name reflects its ability to be used with any of the Gaffer mixin classes - this isn't quite the case yet but the upcoming commits to implement SceneSwitch will correct that.