[WiP] Fix trial expiration

Separating plan_level from community to a new table for the sake of saving some data about when communities have changed their plan levels.
This is copy-paste code from line 259.

Extract this logic to own method, and make `fetch_community_admin_status` and `ensure_is_admin` to use the extracted method.