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
# ...
```
Enable checking for the string format issues because:
1) Fedora and Ubuntu have format checking generating errors as mandatory for the ruby gem builds.
If "-Wno-format" is hardcoded here it will collide and fail with the in-build option of -Werror=format-security passed to the make.
2) There was one potential format vulnerability found in rb_compression_options.c
1. Organize collapsed ruby yard doc.
2. Update contents about ClientStub#bidi_streamer because
bidi#writes_done hasn't existed.
https://github.com/grpc/grpc/pull/14535#discussion_r171452923
3. Fix yardoc warnings.
Warings:
[warn]: Invalid tag format for @return in file `lib/grpc/core/time_consts.rb` near line 36
[warn]: @param tag has duplicate parameter name: set_input_stream_done
in file `lib/grpc/generic/bidi_call.rb' near line 70
[warn]: Unknown tag @result in file `lib/grpc/generic/rpc_server.rb` near line 287
[warn]: @param tag has unknown parameter name:
in file `lib/grpc/generic/interceptors.rb' near line 158
[warn]: In file `lib/grpc/generic/rpc_server.rb':217: Cannot resolve link to key: from text:
...{key: val, ..}
[warn]: In file `lib/grpc/generic/rpc_server.rb':217:
Cannot resolve link to key: from text:
...{key: val, ..}