live: generate "live.ready" after all say hello
cmbd: start shell only after live.ready event

The idea is to wait until comms is wired up before spawning shell
and any test code that depends on a stable session.

In addition fixed a bug:
The api module began hitting this assert:
   zloop.c:303: zloop_set_tolerant:
     Assertion `item->socket || item->fd' failed.

rank0_shell() closes STDIN_FILENO, and the api module gets it back
from accept(), then passes it to zloop (via the module machinery).
zmq_poll has a big in zeromq4-4.0.4 in which fd 0 is treated as
an invalid descriptor.  Implement a workaround to ensure that fd 0
is reopened and not used for anything, for now until we move forward
zeromq4 and get a fix.
Merge pull request #24 from garlick/startup-sync

implement startup synchronization