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.
Removed nasty OIIO versioning workaround.

We were renaming the standard build of the OpenImageIO library so that it didn't conflict with the one shipped with Arnold. Arnold now (in 4.1) links OpenImageIO statically and hides the symbols, so we no longer need the workaround.

Also tweaked the OSL build to install all the OSL binaries including testshade and testrender. These still aren't shipped in the final gaffer package, but it's useful to have them there during development for testing purposes.
GafferImage::Display now hashes port number

This avoids cache problems in the situation where you've got eg multiple IPR renders going to different displays
Merge pull request #679 from davidsminor/displayHashingPortPlug

GafferImage::Display now hashes port number
Merge pull request #678 from johnhaddon/oiioBuildSimplification

Removed nasty OIIO versioning workaround.
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