Define `Message` interface of the generic protobuf message. In the initial
implementation, the message should be convertible to and from related gRPC
message.
Implement encoding functions over the `Message` that can:
* unmarshal the `Message` via related gRPC message;
* decode the `Message` from JSON format via related gRPC message;
* encode the `Message` to JSON.
Implement nested `test` package for testing the implementation.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Implement gRPC client that can uniformly execute any RPC on the remote
server. In the primary implementation, the client is a thin wrapper over
gRPC client connection that is required to create the client. In the future,
it is planned to expand the library with convenient functionality.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>