* Formatted all code using [black](https://github.com/psf/black) and [isort](https://github.com/PyCQA/isort).
* Added `power_level_override` parameter to `ClientAPI.create_room`.
* Added default implementations of `delete-portal` and `unbridge` commands for bridges
* Added automatic Olm session recreation if an incoming message fails to decrypt.
* Added automatic key re-requests in bridges if the Megolm session doesn't arrive on time.
* Changed `ClientAPI.send_text` to parse the HTML to generate a plaintext body instead of using the HTML directly when a separate plaintext body is not provided (also affects `send_notice` and `send_emote`).
* Changed lack of encryption dependencies to be a fatal error if encryption is enabled in bridge config.
* Fixed `StoreUpdatingAPI` not updating the local state store when using friendly membership methods like `kick_user`.
* Switched Bridge class to use async_db (asyncpg/aiosqlite) instead of the legacy SQLAlchemy db by default.
* Removed deprecated `ClientAPI.parse_mxid` method (use `ClientAPI.parse_user_id` instead).
* Renamed `ClientAPI.get_room_alias` to `ClientAPI.resolve_room_alias`.