Create separate class for making event modifications

WIP: should update unit tests before merging. Created pull request already for feedback.

Separate class simplifies the manager code a bit and should allow later better to make modifications else than main even, i.e. adding exceptions to recurring events. See commits for details.
One option to make the API self-explanatory would be to add a function like this:

Q_INVOKABLE NemoCalendarEventModification *createEvent() { return getModification(0); }