Add DM room support and encrypted room creation
Rooms module:
- Add find_dm_rooms to look up m.direct account data
- Add get_or_create_dm for DM room lifecycle management
- Add encrypted parameter to create/create_room for E2E rooms
Client module:
- Extend session handling and HTTP helpers
Auth module:
- Refactor login flow structure
Messages module:
- Minor cleanup
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>