Make sure the disconnect tab only opens once.

Without this fix, if the extension can't connect to the app, it retries every second, opening a new disconnect tab each time.

Another way I can fix this is to have a boolean (e.g. tabWasOpened) which I set to true when the disconnect tab is created. Until the boolean is reset to false, the disconnect tab wont be opened. With this alternative, each additional failed ping from extension to app will not open the disconnect tab, even if the original was closed. In this pull request's fix, if the original was closed, a new one will open on the next failed ping. Let me know if one is preferable!

ran grunt test!