change from PUSH-PULL pattern to ROUTER-DEALER pattern; add heartbeat function to PiNetwork and ControllerNetwork; add reconnect function to PiNetwork; Merge Visualization into one file