Added unit test for Plug::removeOutputs().
Allowed Plug to accept children.

It was always strange that Plug didn't accept children, but that CompoundPlug then reaccepted them - the rule is that a derived class can be more strict than a base class, but not less so.

Plug now also does all the parent/child connection management that CompoundPlug was doing, and can do so without signal/slot management because it is in direct control in the setInput() calls themselves.

The Plug class can now be used directly wherever a container of plugs is needed, whereas before it was only possible to use a CompoundPlug for this, whether or not the client actually wanted all the ValuePlug semantics associated with that.

Binary incompatibilities :

	- CompoundPlug
		- Removed methods
		- Removed member variable
Updated Plug serialisation to account for children.
Updated ValuePlug to deal with children.

ValuePlug should now be useable in place of CompoundPlug, and CompoundPlug will be removed entirely in a future version.

Binary incompatibilities :

	- CompoundPlug
		- Removed methods
	- ValuePlug
		- settable() no longer virtual
Added tests to check that leaf plugs do not accept children.
Added child matching to connected Plugs.

When a parent plug has an input connection from another parent plug, we now propagate any child addition/removal on the source plug, performing equivalent operations on the destination plug. This allows the connection to be maintained, and will allow compound plug types like CompoundDataPlug to be used effectively in connections.
Added CompoundDataPlug test case demonstrating Box promotion.

Fixes #1043.
Fixed include order in Plug.cpp.
Interleaved Prune hash/compute methods for clarity.

It's a lot easier to verify they're correct as a pair when you can see them side by side.
Interleaved Isolate hash/compute methods for clarity.

It's a lot easier to verify they're correct as a pair when you can see them side by side.
Fixed poor performance of Prune/Isolate in presence of SetFilter.

Due to an inaccurate hash, we were repeatedly computing the globals every time the SetFilter requested them. Not doing that is quicker.
Merge pull request #1061 from johnhaddon/globalsHashes

Fixed poor performance of Prune/Isolate in presence of SetFilter
Made object type more prominent in the SceneInspector.

As requested in #897. This also paves the way for summaries in other SceneInspector headers as per #911.
Improved object section in SceneInspector

- Added section for displaying camera parameters.
- Added section for displaying primitive variables with types, interpolation and geometric interpretation.
- Added field for mesh interpolation.

Fixes #897.
Merge pull request #1059 from johnhaddon/plugConnections

Plug improvements
Merge pull request #1062 from johnhaddon/sceneInspectorObject

SceneInspector object section improvements
Failing batches stop the dispatch job.
Added LocalDispatcher.Job and LocalDispatcher.JobPool to track running batches.

A handy side effect of the JobPool is that we can fix our test cases which rely on waiting for the background jobs to complete.
Added LocalDispatcher.Job.kill() to terminate a running job.
Added a window for tracking currently running LocalDispatcher jobs.