Fix bug in UpstreamEndpoints::retain (#145)
Fix bug in UpstreamEndpoints::retain (#145)

Found an issue in which if UpstreamEndpoints had a subset of `None`, and
the `retain` function resulted in no values, then the
`AllEndpointsRemovedError` would not be returned in the result - which
could result in a UpstreamEndpoint with an empty subset value.
googleforgames/quilkin,googleforgames/quilkin,googleforgames/quilkin,googleforgames/quilkin,googleforgames/quilkin,googleforgames/quilkin