Added algorithm completion handler

Refs #10377
Change material name to formula

Refs #10377
Fix handling algorithm completion

Refs #10377
Do not allow duplicate observers on an algorithm

Add unit test for this

Refs #10377
Use std::find to search observers

Refs #10377
Merge branch 'feature/10377_sample_material_ui' into develop