This diff introduces the implementation of `SessionSignature` gRPC handler using the Rust Tonic gRPC server and by calling the `sessionSignatureHandler` C++ handler wrapper function.
The `server/tools.rs` file was created with the `create_tonic_status` function, which returns a Tonic status. The reason to create this function is that we can't cast the `tonic::Code` enum based on the number that received from the C++ `sessionSignatureHandler` function. Also, we can't use `tonic::Code` as a ffi/cxx return type, because the cxx build fails with an `unsupported type` error. I think that's because of the `impl` for the enum which C++/cxx doesn't support.
The `grpcResult` struct is created in the ffi section to pass gRPC errors from C++ handler to the Rust gRPC handler and return the error code and text by the gRPC server.
Linear task: [[ https://linear.app/comm/issue/ENG-2058/implement-tunnelbroker-grpc-sessionsignature-api-handler-in-rust | ENG-2058]]