Remove Python FrameworkManager::createAlgorithm method.

It was different to the C++ one and it wasn't transparent as to what
happened when an algorithm was created. The code for creating an
algorithm for a simpleapi function is now back in the simpleapi module
so it is easier to determine what is actually happening.
Refs #5157
Remove unused callstack methods

Refs #5157
Update FrameworkManager.createAlgorithm references

They now use the more standard AlgorithmManager.
Refs #5157
Update RunPythonScript to wrap script code in small algorithm.

This ensures that all calls to make child algorithms go through
Algorithm.createChildAlgorithm
Refs #5157
The Python-level declareProperty methods are now static

They also accept a boost::python::object as the first argument so that
they can match against multiple types of base class.
Refs #5157
Merge branch 'feature/5157_dataprocessor_in_python' into develop