Feature/dialogue manager

This is a refactoring to allow optimizing the dialogue collection request.

- [x] create a dialogue manager to handle all mongodb calls
- [x] move all dialogue worker related to mongodb/dialogue to the manager
- [x] remove functions from dialogue worker
- [x] refactor the dialogue manager to avoid using the .group function
- [x] add function to find matching interaction
- [x] add a caching and reloading when one dialogue is updated
- [x] add a function to get all keywords