Add support for Redis Sentinel
Problem
The container registry (both GitLab's and the upstream Docker Distribution) only support connecting to a single dedicated Redis instance to use as cache for blob descriptors (both globally and scoped by repository).
This limitation makes it unfeasible to use Redis as the blob descriptor cache for GitLab.com, which in turn leaves us with only one option, an in-memory blob descriptor cache, which is local to every registry instance. This has obvious memory implications for registry instances, as the cache grows unbounded over time with every new blob that is pushed or mounted in a repository.
Solution
Add support for Redis Sentinel, allowing us to use a HA Redis cluster and configure proper eviction policies for cached blob descriptors.
Related to gitlab-com/gl-infra/delivery#1022 (closed).