[NB] Add single-frame JSON RPC adapters and proxy

All existing RPC tasks and proxies use the following, multi-part (i.e.,
multi-frame) message structure:

    [sender uuid]
    [command]
    [serialized args]
    [serialized kwargs]

where the `args` and `kwargs` are either serialized using JSON or
pickle.  However, in some cases, we may want to allow clients to
interact with an RPC task, without using a multi-part message.

An example of such a situation is when using a `NullMQ` connection in a
javascript application, where multi-part messages are not supported.  By
adding the following single-frame adapter classes, an existing
multi-frame RPC task may be accessed, e.g., by a `NullMQ` client:

 * `SingleFrameJson2Adapter`
  * Expose a single-frame, JSON encoded API to a `pickle`-serialized
    multi-frame RPC task.

 * SingleFrameJson2JsonAdapter
  * Expose a single-frame, JSON encoded API to a `JSON`-serialized
    multi-frame RPC task.
Allow handler prefix to be set in `HandlerMixin`

By default, the handler prefix is set to `on__`.
Add default `available_handlers` handler.
[NB] Correct mixin inheritance ordering...

Correct mixin inheritance ordering, according to:

    http://stackoverflow.com/questions/1848474/method-resolution-order-mro-in-new-style-python-classes