Drain client transport when stream ID approaches the max stream ID
From #5358, we noticed that users may be working around the max stream ID issue by using max connection age, which is not really an intended use case of that feature.
gRPC-Java automatically reconnects when stream IDs are 50% exhausted. We can probably use a higher number than that, but we should have some version of this behavior.
I would like to take a crack at this, not exactly sure on timing will update here when I have time blocked off.
@hexfusion: since this has become more of a priority for us, we are assigning this to @arvindbr8. Hope you can find some other issue that you are interested in and can contribute. Thank you.