upstream: allow a cluster to provide its own load balancer (#7081)
upstream: allow a cluster to provide its own load balancer (#7081)

Certain clusters have cluster specific load balancers. This change
allows a cluster to explicitly provide one, both allowing extension
clusters to easily provide a dedicated load balancer, as well as
allowing for future cleanup of the original DST LB configuration.

This change is needed for Redis Cluster as well as
#1606.

Risk Level: Low
Testing: New UTs and integration tests.

Signed-off-by: Matt Klein <mklein@lyft.com>

Mirrored from https://github.com/envoyproxy/envoy @ fcf8a5918dfd20ed4ff52652f9ffd7d1d9d34b28

lyft/envoy-api,lyft/envoy-api,lyft/envoy-api