Refactored StandardGraphLayout::connectNode().

It's going to get a bit more complicated with the in-stream insertion code, so I'm simplifying it a bit beforehand.
Fixed issue #280: Display now obeys the default format.
Added a test case for the above.
Removed print statement in a test case.
Fixed broken test case in GafferImageTest.FormatTest
Implemented const version of correspondingInput() wrapper.
Improved StandardGraphLayout::connectNode(s) to insert in-stream where possible.

"Where possible" in this case means where there is only a single node to connect, only a single connection is made to it, and where it has a compatible pass-through defined by DependencyNode::correspondingInput().
Updated StandardGraphLayout positioning code to use output connections as well as inputs.
Fixing crashing test.
Added error handling for bad RenderManShader activator annotations.

Prior to this they would destroy the UI to the point that you couldn't reload the shader to fix the problem. Now they just print our a helpful error message.
Merge pull request #305 from johnhaddon/shaderParameterActivationFix

Added error handling for bad RenderManShader activator annotations.
Implemented automatic placement of new Filter nodes.

Also added a todo describing improvements to the GraphGadget which would make it unecessary for scripted operations to trigger the positioning at the appropriate time.

Fixes #86.
Stopped empty tab creation in StandardNodeUI.

Before it was preparing a tab for a plug, only to find that no widget was registered for that plug.
refactoring __build so actions can be built from elsewhere
Reworking grabFocus to three separate modes: Grab, Close, and Forward.

Grab will always take focus. Both Close and Forward will send the focus on to the application's focus widget until either the up or down arrows are pressed. At this point, these menus will switch to grab mode. Close menus will hide themselves just before forwarding focus, while Forward menus will remain open until manually closed.
Added search icon and style.
Added searchable menus.

Menus can be made searchable on construction. Searchable menus create an initialization structure from the underlying MenuDefinition during aboutToShow, and use it during searches. Updates to the MenuDefinition should still result in new menu items. Makes #43 and #159 possible.
NodeGraph popup menu is now searchable.

Constructing the nodeMenu once and re-using it. Fixes #43 and Fixes #159.
Improved sorting for search results.

Sorting first on match position, then alphabetically. Up for debate I suppose, but let's get it in users hands first.
Limiting to 50 search results, displaying the rest on a submenu.
avoiding slow os calls in the RenderMan menus