Currently, when a user calls `makeSingleInstance` they need to handle the second instance in a callback.

A better pattern for both users and third-party modules who want to use this information would be to emit an event on the `app` module when the second instance starts.

A pattern like:

```js
app.makeSingleInstance();

app.on('second-instance', (e, argv) => {
  // do-stuff
});
```

As step 1 I'll introduce support for the event and deprecate the callback.  Then in a major version, we can remove the callback.
atom/browser/api/atom_api_app.cc
auto* ax_state = content::BrowserAccessibilityState::GetInstance();
  if (enabled) {
    ax_state->OnScreenReaderDetected();
  } else {
    ax_state->DisableAccessibility();
  }
  Browser::Get()->OnAccessibilitySupportChanged();
}
Browser::LoginItemSettings App::GetLoginItemSettings(mate::Arguments* args) {
  Browser::LoginItemSettings options;
  args->GetNext(&options);
  return Browser::Get()->GetLoginItemSettings(options);
}
#if defined(USE_NSS_CERTS)
void App::ImportCertificate(const base::DictionaryValue& options,
                            const net::CompletionCallback& callback) {
  auto browser_context = AtomBrowserContext::From("", false);
  if (!certificate_manager_model_) {
    std::unique_ptr<base::DictionaryValue> copy = options.CreateDeepCopy();
    CertificateManagerModel::Create(
        browser_context.get(),
        base::Bind(&App::OnCertificateManagerModelCreated,
                   base::Unretained(this), base::Passed(&copy), callback));
    return;
  }
  int rv = ImportIntoCertStore(certificate_manager_model_.get(), options);
  callback.Run(rv);
}
void App::OnCertificateManagerModelCreated(