api: create 'dq' class in libapi

Create a tiny abstraction for the deferred message queue in libapi
so we can more easily replace its implementation.
api: use inproc sockets for dq class

This allows our deferred queue to make the reactor ready and
should address issue #81 for api sockets.
api: make dq socket unique per-handle

Ensure that each handle has unique inproc:// socket names for
its dq sockets.  I don't think this is actually a problem right
now since each API handle currently has its own zctx, but this makes
the code less fragile should we we later allow the zctx to be provided
externally, and shared between handles.
modules: use inproc sockets for deferred req

This allows deferred messages to make the reactor ready and
should address issue #81 for module handles.
tkvswatch: add a test kvs watch modifying own key

This is a test for issue #81
Merge pull request #85 from garlick/api-handle-dq

handle deferrred messages with an inproc socket.
Fixes #81.