Server start workflow

During polling procedure, when an instance become "running" we introduce an internal state to distinguish between "running but gns3 server is not", "running and gns3 server running" and "running, gns3 server running and websocket connected".

Server starting and websocket connection are performed in separate threads