c0ee432598
Deprecate ChannelProvider::configure(), which doesn't do much and is incompatible with the idea of shared context. A lot of down-stream mess related to the confused relationship between InternalClientContextImpl and InternalClientContextImpl::ChannelProviderImpl. This is changed to compose the provider within the context and use a nested shared_ptr so that references to the provider are really references to the context. This brings the ownership semantic in line with what the API suggests, and what other providers implement.