rpclib: Add initial unit tests
This puts the unit test coverage for arti-rpc-client-core
over 80%, which is nice.
It includes a fairly tricky test for concurrency and out-of-order responses; I've run that one for an hour or to so make sure I couldn't make it deadlock.
There are also a few small changes to the code's behavior; those are in separate commits.