[util] move TCP socket stats into the Socket class

This patch moves the protobuf data structures for TCP socket statistics
and transport details from src/kudu/rpc/rpc_introspection.proto into
src/kudu/util/net/socket_info.proto, separating them into a standalone
file.  The code that used to retrieve statistics on an RPC connection's
TCP socket has been moved into the Socket class correspondingly.  With
that, it's now possible to collect statistics from a TCP socket which is
not yet a transport for any KRPC connection.  This also makes it
a better design choice if considering the TransportDetailsPB::TlsDetails
message since the updated code doesn't need to do the down-casting
anymore.

These updates are required for follow-up patches with the functionality
of collecting TCP statistics for a Socket instance that a Kudu RPC
server listens at.

Change-Id: I48ba7915f5153bae288b462b07965cdea7b7957b
Reviewed-on: http://gerrit.cloudera.org:8080/20772
Tested-by: Alexey Serbin <alexey@apache.org>
Reviewed-by: Abhishek Chennaka <achennaka@cloudera.com>
11 files changed