This is for compatibility with IPv6-only environments; see the Google
bug b/32531998.
Note that InteropClient.cs and http2_client.cc don't appear to be tested
by our internal branch, but I've included them for consistency.
We suffered a bug whereby doing a follow-up write to another write could
resurrect a deleted stream, causing all sorts of crash.
Fix: when a stream becomes writable (vs when we start writing) take a
ref on the stream, and only relinquish it once we're done writing.
- make the directory structure match the package structure
- sanitize the package structure (test --> testing)
- add auto-detection of proto file dependencies