impl(cmake): support interface proto libraries (#8165)
impl(cmake): support interface proto libraries (#8165)

Update the helper functions in CMake to support `INTERFACE` proto
libraries. `INTERFACE` libraries have no filesystem artifacts, there is
no `-l...` option required for them.  They are useful when you want to
create a new name for a CMake target without breaking compatibility, or
when you want to group multiple targets.  They are also useful for
header-only libraries, but that is not the case here.

I am planning to use this feature for Cloud Trace, Cloud Monitoring, and
Text-to-Speech.  All of these have proto libraries in
`external/googleapis`, I can create new libraries for these protos in
`google/cloud/${service}`, but I do not want to introduce potential ODR
violations.
googleapis/google-cloud-cpp,googleapis/google-cloud-cpp,googleapis/google-cloud-cpp,googleapis/google-cloud-cpp