OpDialogue Enhancements

This series of commits addresses #591, adding optional background operation, message output, and results display for the OpDialogue. There's quite a lot of refactoring of existing code in there - here are a few specific things I'd like to get some feedback on :

- 10d8c0e changes the method used for auto-layout of widgets using the "with" statement (in a backward compatible way). I think it's an improvement for the reasons described in the commit message, and would like to deprecate the old method. Feedback on that would be good.
- Some of the old postExecuteBehaviours no longer make much sense, and have been deprecated in favour of new ones - does this seem OK?
- I've made both the BrowserEditor and op app use the new background mode - is anyone aware of ops we use there that won't like being executed on a thread? The default mode for existing API users does remain as non-threaded as we discussed on the ticket.
- NotificationMessageHandler is now no longer used anywhere in Gaffer, and it might be nice to deprecate/remove it - is anyone relying on it elsewhere?

The OpDialogue now has a huge permutation of modal/nonmodal modes with threaded/nothreaded execution and multiple postExecutionBehaviours. I've done my best to test every single one, but it would be wise if any software using OpDialogue independently were to be tested before we deploy this.