Export algorithm cancel & isRunning methods to Python.

Refs #8971
Move some AlgorithmManager tests to more relevant AlgorithmFactory

Refs #8971
Export a wrapper type for AlgorithmID

Refs #8971
Export more parts of AlgorithmManager to Python

Refs #8971
Export more methods of AlgorithmManager.

This allows more control of algorithm cancellation from Python.
Refs #8971
Fix typo in python AlgorithmTest.

Refs #8971
Fix AlgorithmManger python export on boost 1.43.

This version of boost can't handle exporting const pointers to Python.
Refs #8971
Fix typo in AlgorithmTest.py

Refs #8971
Remove commented-out code from AlgorithmManager export file.

Refs #8971
Allow overriding Algorithm::isRunning in Python

Refs #8971
Allow Algorithm::cancel to be overridden in Python

Move Algorithm::cancel test to PythonAlgorithm test so it is more
reliable and doesn't rely on timings.
Refs #8971
Remove cerr debug statement & fix typo in comment.

Refs #8971
Merge remote-tracking branch 'origin/feature/8971_cancel_algs_from_script'