Feature/node ipc channel

IPC channel for parents to make requests of their children... and vice versa.

Preparation for strong-pm to communicate with strong-supervisor using node IPC.


"could be implemented internally", not sure what you mean, internal to the application, or internal to strong-control-channel? The latter is done (`require('strong-control-channel')(onRequest)`, or `require('strong-control-channel').attach(onRequest)`), the former is possible, create the server, then attach it.

Anyhow, this supports the standard node "create server with a connection listener callback, then start it some time later with .listen()" idiom, which can be useful, as well as a short-cut "this is cluster, you can only have one server, and there is only cluster, lets give you a short-cut so you can type as little code as possible into your application" mode.

I could delete various elements of the API, for example not export attach as result of require so all users have to make the same calls, but I'm torn if removing user choice for the sake of simplicity really helps them. And I'm the only user... :-)

Not carefully that two cluster servers both attached will break horribly, every event will go to both, and they share sequence numbers... so there responses will get mixed up and/or discarded. I could add the sequence number as a global singleton, to allow two concurrent cluster servers to exist in parallel... but that seems like creeping featurism, and YGNI.

Anyhow, given above, what do you suggest?