- Add sync status tracking with bridge signals (`mam_sync_started`, `mam_sync_completed`,
`mam_sync_error`), `mam_sync_statuses_get` method and helper methods that are called
from `plugin_xep_0045`.
- Update "resume" workflow:
- fix settings of last stanza ID, so it's always set (was not set for our own messages)
- own message now use `onMessage` full workflow instead of just store and signal.
- add `flush_archive_batch` at the end of the process.
- Sync status are sent during resumt
- Modernisation (type hints, use of `get_plugin_data`)
- Join method is completely refactored so a room is now joined immediately, and MAM
synchronisation happens in background.
- Legacy history is not used anymore to simplify code.
- Global simplification of the plugin, not more complicated states handling or message
caching.