Moved translatePythonException() to a new ExceptionAlgo.h header.

This is more in keeping with the *Algo.h convention we're adopting throughout Gaffer and Cortex now.
Added formatPythonException() function to ExceptionAlgo.h.

Also added withStacktrace argument to translatePythonException().
Added continueOnError to ScriptNode execution methods.

This allows the script to be executed a statement at a time, continuing to the next statement if an error occurs, rather than throwing an exception out to the caller. In this mode, errors are instead reported via IECore::MessageHandler.
Improved EventLoop.executeOnUIThread() when used on main thread.

It now just executes immediately, rather than redundantly doing all the shenanigans it would need to do if it weren't already on the main thread.
Used error tolerant loading in FileMenu operations.

Errors are reported to the user via a dialogue, but the file is no longer prevented from loading.

Fixes #746.
Added error return value to ScriptNode execution methods.
Improved Reference node for ScriptNode::load( continueOnError = true ).
Merge pull request #909 from johnhaddon/errorTolerantLoading

Error tolerant loading