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
Merge branch 'feature/4218_algs_as_python_methods' into develop