refactor Strategy class and subclasses
The Strategy should take all decision about experiment policy, by dealing with:
- node not answering
- node errors
The decisions concern:
- continuation of training process
- fed-averaging changes
- next step node(s) selection
The refactoring should also:
- mutualize code inside the Strategy top class
- provide a set of standard strategies: round robin, continue until no more node answers, stop at first error (default strategy)
- provide a way to simplify the writing of a new strategy by the user (researcher)