error: enhance RpcError to support custom server errors and method not found
This update extends the `RpcError` enum to include support for two new variants: `ServerError` and `MethodNotFound`.
### Details:
- `ServerError` utilizes a `dyn std::error::Error` trait object, providing flexibility to embed and propagate custom errors defined by RPC-related modules.
- `ServerError` is wrapped in an `Arc`, which automatically implements the `Send` and `Sync` traits. This ensures `RpcError` can be safely shared and propagated across thread boundaries during asynchronous operations, like the `StoppableTask` and other multi-threaded components.