Allow custom callbacks for client requests

This will allow us to pass custom callbacks to client responses. They're called with arguments that are the result of the client's default callback.
Callback would be a weird thing to define in a json response.

I can change the name to callback_, response_callback, whatever, but that's just skirting the issue and hurting usability. You need to reserve SOME keyword for it