Added custom diff support to SceneInspector.

The UI classes now accept a diffCreator argument, which can be passed a callable which will return a subclass of Diff. B

API Incompatibility : SceneInspector.DiffRow() now takes an optional diffCreator argument instead of a compulsory diff argument.
Added set membership section to SceneInspector.

Fixes #930.
Fixed crashes when passing None to PathMatcher python methods.

Boost python will happily extract a NULL pointer from None when asked for any pointer type, so we need to guard against it. In this case we can replace some wrapping functions and allow the implicit ScenePath conversion registered in ScenePlugBinding.cpp to do the work (this was added after the offending code).
Fixed SceneInspector set membership section for invalid paths.
Fixed display of invalid paths in SceneInspector.

Inspectors can't return HTML now, because we escape HTML characters. Also simplified disabling of per-character diffs now we have a proper way of doing it.
Added accessors for the buttons on VectorDataWidget.

Fixes #1003.
Merge pull request #1005 from johnhaddon/pathVectorDataPlugValueWidgetAccessor

Added accessors for the buttons on VectorDataWidget.
Merge pull request #1001 from johnhaddon/sceneInspectorSetMembership

SceneInspector set membership section