Prevent cycle creation at the repository level
Summary:
We do some checking in the presentation layer, but in some views where
items might show up several times the model index based heuristic can't
work. So instead let's make TaskRepository::associate() do all the
checking and return an error when needed.
We should really think about porting the repository tests to the fake
akonadi too.
Reviewers: franckarrecot, dfaure, bensi
Reviewed By: bensi
Differential Revision: https://phabricator.kde.org/D717