Prior to this change, when the ruby generator tried to reference an entity that was not part of the same package
(or a direct parent package) and the package contains underscores,
the result would simply uppercase the first character.
It should however uppercase each letter that proceeds an underscore and remove underscores.
i.e.
```
package my_package.service;
import "my_package/data.proto";
service MyService {
rpc Test (data.Request) returns data.Response {}
}
```
Was
```ruby
# ...
rpc :Test, My_package::Data::REquest, My_package::Data::Response
# ...
```
Should be:
```ruby
# ...
rpc :Test, MyPackage::Data::REquest, My_package::Data::Response
# ...
```
There is at least one well-known proto file (plugin.proto) with comments
that include variable-like strings that are not actual variables. This
leads to DFATAL log statements that clutter the output and don't provide
any benefit.
Now the grpc_2_0 flag is no longer required for the only-generate-code-
elements-in-_pb2_grpc.py-files behavior and the grpc_1_0 flag is
required for the add-generated-gRPC-using-code-elements-to-_pb2.py-
files behavior.
We'll soon be flipping the default behavior of gRPC Python Protoc
Plug-In to the later-than-gRPC-1.0 "code elements only in a
separate _pb2_grpc.py file and no Beta-API-using generated code
elements" behavior; this flag will be the supported (supported for a
while, though not exactly sure how long) means of using the older
"also put gRPC-using code elements in the generated _pb2.py file"
behavior that has been in place since gRPC 1.0.