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
Emit("gpu-process-crashed",
       status == base::TERMINATION_STATUS_PROCESS_WAS_KILLED);
}
void App::BrowserChildProcessLaunchedAndConnected(
    const content::ChildProcessData& data) {
  ChildProcessLaunched(data.process_type, data.handle);
}
void App::BrowserChildProcessHostDisconnected(
    const content::ChildProcessData& data) {
  ChildProcessDisconnected(base::GetProcId(data.handle));
}
void App::BrowserChildProcessCrashed(const content::ChildProcessData& data,
                                     int exit_code) {
  ChildProcessDisconnected(base::GetProcId(data.handle));
}
void App::BrowserChildProcessKilled(const content::ChildProcessData& data,
                                    int exit_code) {
  ChildProcessDisconnected(base::GetProcId(data.handle));
}
void App::RenderProcessReady(content::RenderProcessHost* host) {