rpclib: One standard error type for "I said X but got an unexpected RPC error/response Y"

As it stands, we have quite a few of these in arti-rpc-client-core, and it would probably be good to encapsulate them as a single thing.

These should only be used for the case where arti-rpc-client-core generated the request X, so that the failed response is probably not the user's fault.

See discussion at !2373 (comment 3068414)

Edited by Nick Mathewson