Renamed Displays plugs and changed keys used to store displays.

- Renamed label -> name. It was strange having a UI term used in a non-UI library.
- Renamed name -> fileName. This is more self explanatory and matches user expectations.
- Used name rather than fileName to distinguish different displays in the globals data.
Added name() method to SceneInspector.Inspector class.

This makes inspectors more self contained, providing all the information needed by the DiffRow class.
Added SceneInspector.DiffColumn class.

This allows the attributes and options sections to share implementation.
Fixed dirty propagation bug in GafferScene.Displays.

Dirtiness wasn't being signalled when adding a new display, only when editing an existing one.
Added displays section to SceneInspector.

Fixes #921.
Fixed display of single empty bounding box in SceneInspector.

Previously the huge negative max and positive min where being displayed - now a simple "Empty" string is instead.
Added backwards compatibility for old Displays node plug layout.
Renamed GafferScene.Displays node to GafferScene.Outputs.

General consensus is that this is more descriptive of its purpose, and will also reduce Displays/Display confusion. However, this does violate one of the basic principles in Gaffer - that naming should be consistent throughout the UI, scripting layer and underlying libraries. The intention is to address this in future by renaming the IECore.Display class to IECore.Output. The rationale for doing the Gaffer rename on its own now is that this is our last chance to change it before we're relying on this particular node in production.

Fixes #54.
Added a GafferScene config to provide Displays back-compatibility.

Keeping this sort of stuff out of the main codebase as much as possible seems pretty reasonable.
Merge pull request #969 from johnhaddon/displays

SceneInspector displays section