implement language tags for site/community in db and api
Check all the commit messages for a list of changes.
I think instead of Vec<LanguageId>, it would make sense to use some kind of Set<LanguageId>, as items dont need to be ordered, and set directly provides an intersect() method which we need. Problem is that a normal HashSet or BTreeSet needs more allocations and cpu work, so it would be necessary to pull in something like tinyset. Also, diesel only returns vec for db queries, it seems there is no way to get another collection without manual conversion. So probably not worth the effort.
This should be ready to merge. Still needs api tests (which require updated lemmy-js-client), and a lot of additional testing (during and after lemmy-ui implementation of this feature). Also need to test that db upgrades are working fine.
Last commit is broken, adding the list of languages to CommunityView seems tricky.
Okay made all the requested changes, except for the one in EditCommunity which is not possible due to error types.
Once this is merged, I'll start on the front end for it.