Added OSLShader compatibility for upcoming IECore::LRUCache change.
Updated default build to TBB 4.2.
Optimised FilteredChildIterator and PlugIterator.

They were making unnecessary temporary IntrusivesPtr, which perform unnecessary reference counting operations, which have unnecessary overhead.

This alone gives more than a 5% speedup in a simple Instancer hash benchmark because the CompoundPlug uses a ValuePlugIterator in its hash implementation. Similar speedups should be seen in other areas.
Merge pull request #862 from johnhaddon/iteratorOptimisation

Optimised FilteredChildIterator and PlugIterator.
Added public Filter methods for specifying input scene via Context.

Prior to this, it wasn't possible to query a filter from Python any more. The new methods also mean that FilteredSceneProcessor doesn't need to know anything about how filters are implemented (which is good, because it's a horrible dirty secret), and we hide some more implementation by making the name of the context entry for the input scene private.
Added SceneAlgo.h with methods for querying all objects matching a filter.

The methods are implemented using a threaded traversal of the scene for performance.
Added NodeGraph menu item for selecting objects affected by a node.

This allows a more general form of what is requested in #375, but we should probably also put something more directly in the Filter node UI at some point, to fully close that issue.
Merge pull request #863 from johnhaddon/selectFiltered

Select objects affected by a node
Adjusting ExecutableNode docs to make things a bit clearer.

Also adjusted line formatting to suit my ocd...
Adjusting Despatcher docs to make things a bit clearer.

Also adjusted line formatting to suit my ocd...
Tidying some functions signatures
Renamed ExecuteUI to DespatcherUI
Renaming despatcherParameters to despatcher.
Moved requirements metadata to the new ExecutableNodeUI
DespatcherUI sets metadata for ExecutableNodes only.
Moving ExecuteButton creation to ExecutableNodeUI.

The definition of the button remains in DespatcherUI.
Removing ExecutableRenderUI

This was just being used to hide the requirement plug from the graph, which we now want visible. We may well add the file back later on, but I didn't want to leave an empty file around.
Unifying exposed nodules for the various ExecutableNodes.

Fixes #109.
Set JAVADOC_AUTOBRIEF = YES in Doxygen config.

This makes Doxygen consider the first line of the class description to be a brief description, putting it at the top of the class reference page. Previously, the description only appeared after all the methods had been listed.
Fixed serialisation of non-dynamic ArrayPlugs.

We were serialising a construct/addChild pair for the first element of the array, even though the element would be provided again via the constructor next time. This led to one additional plug being added each time the ArrayPlug was serialised and unserialised.

Fixes #580.