Diffusion refactoring

You've been asking for work in progress pull requests needing advice :) So here is one. I started on top of the current master but I also include modifications from PR https://github.com/medInria/medInria-public/pull/123. The asclepios plugins have been adapted in a necessary pull request to test this branch: https://github.com/medInria/asclepios-plugins/pull/5

The goal here is to completely refactor the diffusion workspace to have a more modular structure. This means a few things (some of them are done, some others not yet) :

- Done: splitting the main diffusion selector toolbox into three parts: estimation, color maps, tractography
- Done: changing the workspace so that it acts as the controller instead of the selector toolbox
- Done: allow one selector toolbox to automatically get the previous result as its input. But also let the option for the user to give its own input
- Done: make the pipeline 100% model free. I think only the fiber bundling toolbox and the tensor log-euclidean plugin need modifications for that
- optional: think of moving some useful stuff that is currently in the asclepios plugin to public plugins (brain masking from diffusion data which is entirely using TTK public, some nice abstraction to connect ITK signals and observers to Qt signal slots)

There you go, if anyone has some ideas on the best way to go for the third point, don't hesitate to tell me. Also, any comment on the current implementation is welcome, troll on my friends :)