perf(messages): caches unread messages count to reduce queries

Fixes #6942
@Srokap would running this w/o access mitigate the issue w/ private users?