Live monitoring

This training extension allows:
-Filtering of monitor channels
-Real-time planning
-Remote monitoring
It appears that the default timeout for PyZMQ is infinite for both receiving a response from the server and the amount of time a request will remain in memory on the server while awaiting for the server process to check for requests. As such neither side should time out. Additionally, if I recall correctly, TCP does not require a heartbeat. Instead it awaits the client to disconnect. If this is correct then the communication between the two threads should be minimal while the clients waits for the server to respond. However I have sent this question the ZMQ mailing list for confirmation.