Design full build matrix and implement it.
We need to gather some data and then complete the definition of the build matrix. There is an skeleton in #8, but that won't be enough. And a full NxMxK matrix of all combinations of compiler, platform, and build options would be overkill.
The design should answer these questions:
- What version of gRPC we support?
- What distributions of Linux we support?
- What compilers and versions we plan to support?
- For Windows, we need to get specific with MSVC versions