This is a huge configuration refactoring.
The configuration system now uses Pydantic settings, with better validation, better
support for environment variables and other goodies.
The main config files now use TOML instead of INI, this allow for better handling of
complex types, notably dict.
Plugins, components and frontends can declare their config settings in a class which will
be imported dynamically.
- workflow is now using the normal messages workflow even for history message: previous
workflow was dedicated to MUC and only adding message to history, resulting in other
plugins being skipped.
- new `get_room_user_jid` helps to retrieve easily the JID currently used in a joined
room.