Rewrite RunPythonScript in C++.

This is a core algorithm for the LiveData so needs away from possible user modification
and allows custom behaviour for WorkspaceGroups.
Refs #7019
Disable a test while it is diagnosed. Refs #7019
Switch from Poco->boost regex engine.

There is a bug in Poco::RegularExpression that causes and out of memory
error on some regular expressions. The boost version does not suffer
from this and actually has cleaner syntax for the eol conversion.
Refs #7019
Switch out usage of Poco regex for boost in GUI ScriptCode class

Not technically related to this ticket but the regexes were identical so
the ScriptCode class would have suffered the same out of memory error.
Refs #7019
Backwards-compatible check for Python none object in C++.

Refs #7019
Refactor Python error handling code into separate header.

Refs #7019
Translate Python errors to C++ exception in RunPythonScript

Refs #7019
Adjust exported WorkspaceCreationHelper module to only uses interfaces

The unit tests will now behave much more like a real situation where
the concrete types are not exposed.
Refs #7019
Ensure RunPythonScript sees proper workspace types.

Refs #7019
Merge remote-tracking branch 'origin/master' into feature/7019_cpp_runpythonscript
Update class name as a result of change elsewhere. Refs #7109
Only gcc 4.6 accepts typename outside template. Refs #7019
Add C++ RunPythonScript test to CMakeLists...

and fix the test.
Refs #7019
Merge remote branch 'origin/feature/7019_cpp_runpythonscript'