Implement children API
We need an downstream API to communicate with children processes and allow container applications to be controlled and report to the NRM on progress.
While an API currently exists, it is severly lacking in features. We also haven't integrated the beacon progress reporting back into the NRM.
The constraints are:
- applications will want to push progress reports asynchronously
- multiple layers of the same application context will want to report progress at the same time
- runtimes will want to wait asynchronously for control requests.
This should push us to have:
- a PUB socket to send commands
- a SUB socket to listen for progress, connections to the NRM.
The TODO for this issue are:
- Rework pub/sub sockets for this API
- Draft a better version of the message format for this API
- Move children management to a subsystem of the NRM
- Move FSM for control actuators to this new subsystem