fixed FilteredSceneProcessor::acceptsInput() crash when inputPlug is null
Changed ApplicationRoot::setClipboardContents() to a raw pointer.

It doesn't manage the reference count for the object because it takes a copy.
Removed deprecated Box metadata methods.

The standard Metadata API should be used instead.
Updated OSLImageTest for improved dirtiness signalling.

It should have been updated as part of 2d0ab75b2a27251602379671cd0c7371ad995204.
Updated for IECore::IntrusivePtr -> boost::intrusive_ptr change.

This is necessary for compatibility with the latest Cortex version.
Stopped using python-config for build configuration.

This is for a number of reasons :

- python-config returns paths hardcoded to include the install location it was built with. This meant that we couldn't provide a packaged set of binary dependencies, making building Gaffer much harder than it needed to be.
- We were having to patch the python-config output for the link flags on mac anyway.
- It didn't work for the Image Engine build - we were just ignoring the errors and getting away with it somehow.
Merge pull request #900 from davidsminor/filterdSceneProcessorAcceptsInputCrashFix

fixed FilteredSceneProcessor::acceptsInput() crash when inputPlug is null
Reimplemented SceneInspector to allow further development.

- Replaced single giant label with HTML with hierarchy of Widgets. This will allow much more customisation and interaction.
- Made sections collapsible.
- Introduced tabs to separate major sections.
- Added mechanism for registering custom sections.
- Added Diff and TextDiff classes to simplify the display of diffs.
- Added Row class to simplify creation of standard inspector rows.

Fixes #36.
Fixes #821.
Added missing wrapper for NodeGadget::nodule() overload.
Fixed ParameterHandler API to use raw pointers where appropriate.
Fixed ParameterisedHolder API to use raw pointers where appropriate.
Fixed Gadget API to use raw pointers where appropriate.
Fixed Nodule API to use raw pointers where appropriate.
Merge pull request #903 from johnhaddon/pythonConfig

Stopped using python-config for build configuration.
InteractiveRender::updateShadersWalk ignores invisible locations

As setting scene:visible to false completely removes a location and its children from the render, there's no point in recursing into invisible locations
Merge pull request #906 from johnhaddon/sceneInspector

Reimplemented SceneInspector to allow further development.
Merge pull request #907 from davidsminor/IPRsceneVisible

InteractiveRender::updateShadersWalk ignores invisible locations
Merge pull request #902 from johnhaddon/boostIntrusivePointer

Boost intrusive pointer
Fixed shader edit bug with SceneProcedural

SceneProcedural was changing the names of locations with children, which was confusing interactive renders. Now it aint.
Merge pull request #908 from davidsminor/shaderEditFix

Fixed shader edit bug with SceneProcedural