Implement archiving and pinning messages

Merged Matti Viljanen requested to merge archiving-and-pinning-v2 into master
  • Enable is_pinned and is_archived handling in Rust and database
  • Make sure sessions returned to QML are sorted by pinned first, timestamp second
  • Mark message unarchived, when a new message arrives
  • Use DelegateModel to implement "active" and "archived" splitting
  • Session can self-request to switch groups
  • MainPage.qml rewrite, basically
  • Enable/add pinned/archived controls in QML
  • Minor improvements here and there

Closes #219 (closed) and #220 (closed)

Merge request reports