Every client has a separate pipe

This works, but a client that connects "late" will not receive events
such as switch-up, port-up, etc. For now, let's assume that all
clients have connected before the controller connects to the network.
Designing this well will require some thought.

@jnfoster