Separated core functions for rpc support from the rpc format.

An rpc format defines the conversion functions required to perform a remote
procedure call:

(1) A conversion "message to request",

(2) A conversion "object to message content".
Perform attachment of an rpc format in the connection handler.
Support for JSON as an rpc format.

Provide JSON-specific conversion functions and a connection handler
constructor that attaches the corresponding rpc format to a connection.
Added acknowledge function to public api.
Support for processing a connection's messages in a loop.
Updated comment.
Published and renamed resource api functions.
Published and renamed resource api functions.
Do not hold a reference to the head of the connection's message sequence.

Use a "stripped" version of the connection instead when handling scope
expiration after an exception occurred.
Do not hold a reference to the head of the connection's message sequence.

Use a "stripped" version of the connection instead when handling scope
expiration after an exception occurred.
Fixed wrong return values in scoped handlers.
Fixed wrong return values in scoped handlers.
Removed duplicate definition of scopes.
Support for "pluggable" rpc formats.

Format-specific conversions via dynamic multimethod-dispatch based on a
format id.
More intuitive order of args for format declaration; use format itself as
dispatch value.
Incomplete implementation of json rpc format.
Use the format api for rpc data conversions.
Fixed outdated signature of connection handler constructor.
Provided json implementations of rpc format methods.
Support for handling RPC requests.

Map RPC requests to procedures (= plain old functions) and call them in
the context of the current RPC connection.