[Code refactoring] remove circular dependencies
Created by: bbert
to/from StreamController and StreamProcessor, as illustrated in following figure (remove red relations):
Thanks to this PR, responsabilities are better distributed between the classes. It especially required to refactor the sheduling mechanism, as illustrated in the following sequence diagrams:
Also, the NextFragmentRule is removed and its logic direclty integrate in the StreamProcessor, as IMO this is not really a rule.