Refactor and improvement of task mixins
In the !323 (merged) there is some refactoring in Tasks related classes to implement Lintian.
This branch is the refactoring without Lintian related code for two reasons. In no order:
- @beuc can use it for piuparts before the whole Lintian gets merged
- There are more changes than I initially expected and the MR was getting way too big to review
Since we usually squash the changes: in this MR I've removed the Lintian code. Implementing with Lintian in head helped having a second implementation after Sbuild to see more common patterns.
I will add some comments in a moment to help the, still too long, MR.