Project: datamanagement
Issue DM-2785: FFTools python wrapper: make launch Browser smarter. 
FireflyClient.launchBrowser() needs to send an event to the server who will attempt to guess if there is an existing connection. It will not be launch in that case. This way it can be called every time without creating tons of tabs, who are all talking to the same channel. Also, launchBrowser really should not return until the tab is ready to receive events from the websocket channel. Both of these feature are going to take some thought on how to do. This is a multi-threaded problem on both the client and the server.
Story points: 4