We decided to swap ProxyRepository with a drop-in replacement FrontendApiRepository. FrontendApiRepository doesn't store any flags on its own but always filters
the flags that we keep in a GlobalFrontendApiCache. The cache stores all the flags and updates on every revision ID change.
Consequences:
* memory improvements: for a large number of tokens the memory footprint is reduced since we only store one copy of each flag in the cache and every repository
filters the data that it needs for a given project and environment obtained from the token
* I/O improvements: for a large number of tokens the number of DB calls is reduced to one per revision ID update since only the cache needs to be updated