Attaching a patch that implements rpcsend and rpcreceive.
One questionable thing I'll point out is that I extended JsonDecoder to take a String (in addition to an InputStream). Since command-line arguments end up as strings, I wanted to avoid converting a string to a byte array in order to make an InputStream. Jackson has lots of constructors, Reader and String amongst them. What do you think?
I thought about the server accepting many RPCs (not just one), but I decided against it. Partially because of netcat's model, and partially because the server has to return something, and "null" isn't always an option (since it may not be in the schema). Returning an exception is always possible, but since these are essentially tools for facilitating testing of servers I went for one message.
Finally, applying this patch depends very slightly (Main and Util classes) on