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.
The wait used to be here because removing may take time (if the calendar DB is huge, or some other party is accessing the DB causing updates, etc). Waiting ensures that the worker thread has time to complete the removal before the tests finish and destroy the worker thread.