Cleanup content persistence logic
Some content logic was still built around the no longer existing variant property which was replaced with the introduction of content groups. This logic has been simplified or removed where it was no longer needed.
As a side-effect, this refactoring also enables caching for contents which are queried by room ID. This shouldn't have a huge impact because contents are retrieved directly through their IDs from the content group in most cases.
Furthermore, the by_roomid_locked
we has been replaced with the new by_roomid
view.
The locked state has been replaced by content group's published indices for a while
and the subject and body are no longer required as part for the view's key.