Extracted out a simple JSON-RPC 2.0 client

Pulled out the general JSON-RPC 2.0 functionality in the client class
into a JsonRpcClient, use that in the client. This makes it easy to
create custom clients which are really just constructing JSON objects
with the appropriate RPC calls, or to use the base class as a general
client to any named local socket.

Change-Id: I8f79070182e087c471a3ff124efa5242c1e0ae07
Merge topic 'json-client' into master

32235fe2 Extracted out a simple JSON-RPC 2.0 client