There was a problem where, after upgrading otter to v2, there was a chance
of properties being just cached and not reread. The reason we couldn't use
otter's magic reloading is that there's more business logic that needs to
be executed than just to reread value from DB.
One drawback is in order to keep otter's package "hidden", a clone of Loader
had to be created in common.
Additionally Verify API of server was refactored so we return a clear error
externally in case of auth failure (related to "delayed" API key check)
Main reason being otter/v2 release with APIs for sliding expiration.
- added new cache API to use Loader logic from otter/v2 (fetch from DB)
- main direction of work is improving "negative caching" performance
(currently it is still intertwined with the main cache)
- expose new Prometheus metric for cache hit ratio