Add structure to define runtime class methods on workspaces...

to algorithm base classes.
Refs #4218
Export algorithm workspace methods descriptors to Python. Refs #4218
Attach algorithm functions as methods when requested.

On startup, when the simple api is compiled the functions are attached
to the appropriate workspace classes defined by the algorithm.
Refs #4218
Documentation fixes for sphinx markdown.

Refs #4218
Generate the correct method signatures for algorithm the methods.

Refs #4218
Fix attribute error in _workspaceops.

The api module is not quite imported yet so don't use the aliases
Refs #4218
Expose Rebin as workspace method and use it in testing.

Refs #4218
Fix problem when using workspace methods with positional arguments.

Refs #4218
Export other algorithms as methods on workspaces.

Refs #4218
Improve error message when position args are used but not needed.

Refs #4218
Export RenameWorkspace as .rename method.

Refs #4218
Merge remote-tracking branch 'origin/feature/4218_algs_as_python_methods'