prefixes arnold shader search names with 'ai'
Exposed "enabled" plugs in a new Node Editor "Node" tab.

Fixes #759.
Merge pull request #764 from johnhaddon/exposeEnabledPlug

Exposed "enabled" plugs in a new Node Editor "Node" tab.
Update ShaderMenu.py

bringing the spacing in line with other types (as per john's notes)
Removed MessageWidget.textWidget() method.

The internal text widget should now be considered private. The currently displayed messages may be cleared using the new MessageWidget.clear() method.
Fixed MessageWidget crashes encountered in Maya.

After much stumbling around in the dark, I've thrown in the towel on trying to get block level visibility edits working, and resorted to a simpler approach where messages are stored independently of the text widget.
Removed deprecated MessageWidget.appendException() method.

It has been deprecated for a few versions now and is no longer used within Gaffer. The appendMessage() method is still used by NotificationMessageHandler so remains for now.
Add control over the default button to the OpDialogue.

This controls whether the OK or Cancel button is focussed by default when displaying the Op. The default value is as before, focussing the OK button, but the value can be controlled either by user data in the Op or by passing an alternative argument to the OpDialogue constructor.
Merge pull request #756 from bentoogood/arnoldShaderMenu

Added search prefix to arnold shader names
Merge pull request #767 from johnhaddon/messageWidget

MessageWidget fixes
Merge pull request #768 from johnhaddon/opDialogueFocus

Added control over the default button to the OpDialogue.
Fixed bug preventing positioning of nodes within Backdrops.

The collision group mechanism may seem a little more general than is needed for this particular fix, but I believe it has uses down the line, in particular for laying out individual islands of nodes separately before aligning them as required by #155.

Fixes #769.
Removed unreasonable todo item from ComputeNodeTest.

This dates back to a time before contexts were introduced and there was effectively a single global context. Back then each plug actually had a dirty flag, representing whether or not it had been computed for that context yet. That is no longer the case, and the idea of a flag defeats the object of multiple contexts and theaded evaluation.
Improved NodeGraph.frame( extend=True ) behaviour.

It was enforcing a maximum zoom level, which is essential for the extend=False case, but annoying in the extend=True case. If a user has chosen to zoom in a long way, then we shouldn't change that unless it's totally necessary to show the nodes.
Merge pull request #770 from johnhaddon/layoutFix

Fixed bug preventing positioning of nodes within Backdrops.