Merged requested to merge barrier-as-property into master
... and use this property to discover which algorithm have to be declared to the scheduler as barriers, instead of having to pass their names explicitly through the call-stack.
From first-principles, whether or not an algorithm is (can be) used as a barrier is fixed by its implementation, specifically whether it can deal with optional inputs or not. Hence the natural way to do this is by adding an 'is_barrier' property to the PyConf algorithm wrapper, and use this to declare algorithms as barrier to the scheduler. (Note: ideally, setting of this property should happen fully automatically by recognizing whether the algorithm has optional inputs)
goes together with Allen!1026 (merged) and Moore!1814 (merged) and MooreAnalysis!93 (merged)