* Multiroom feature
* Run multiroom visibility expiration conditionally
Remove SQLite and go 1.18 for tests matrixes
* Remove sqlite from unit tests
* Fix linter errors
* Do not build with go1.18
* Do not run upgrade tests
* Fix dendrite workflow
* Add forgotten content and timestamp fields to multiroom in sync response
* Fix syncapi multiroom unit tests
* Review adjustments in queries and naming
* Remove no longer maintained linters from golangci-lint configuration
* Document sqlc code generation
Makes the tests
```
Can get rooms/{roomId}/members at a given point
Can filter rooms/{roomId}/members
```
pass, by moving `/members` and `/joined_members` to the SyncAPI.
This should transactional snapshot isolation for `/sync` etc requests.
For now we don't use repeatable read due to some odd test failures with
invites.