* Electron version: 1.4.8
* Operating system: Windows 8.1 x64

### Expected behavior

**There should be a way to skip client cert request.**

Server can ask for the client cert optionally and even if the client didn't send client certificate, server will still continues with the connection as usual. 

For ex, Tomcat can be configured like: `<Connector port="9443" protocol="HTTP/1.1" clientAuth="want" scheme="https" ...>`. Similarly, Node.js server can be configured to `{requestCert: true, rejectUnauthorized: false, ...}` while creating server instance (as mentioned [here](https://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener)). Server can be configured like this, and another filter/middleware can reject the request for some resources.

### Actual behavior

Currently there is no way to not sending any client cert when server asks for it. 

If I call the `callback` without any certificate arg, `Caught unhandled exception: TypeError: Insufficient number of arguments.` is coming. If I didn't invoke the `callback` at all, the request is in pending state till the timeout occur, which is expected.

### How to reproduce

    app.on('select-client-certificate', (event, webContents, url, list, callback) => {
        event.preventDefault()
        callback(list[ 0 ])
    })

atom/browser/api/atom_api_app.cc
auto command_line = base::CommandLine::ForCurrentProcess();
  if (base::EndsWith(switch_string, "-path",
                     base::CompareCase::INSENSITIVE_ASCII) ||
      switch_string == switches::kLogNetLog) {
    base::FilePath path;
    args->GetNext(&path);
    command_line->AppendSwitchPath(switch_string, path);
    return;
  }
  std::string value;
  if (args->GetNext(&value))
    command_line->AppendSwitchASCII(switch_string, value);
  else
    command_line->AppendSwitch(switch_string);
}
#if defined(OS_MACOSX)
int DockBounce(const std::string& type) {
  int request_id = -1;
  if (type == "critical")
    request_id = Browser::Get()->DockBounce(Browser::BOUNCE_CRITICAL);
  else if (type == "informational")
    request_id = Browser::Get()->DockBounce(Browser::BOUNCE_INFORMATIONAL);
  return request_id;
}
void DockSetMenu(atom::api::Menu* menu) {
  Browser::Get()->DockSetMenu(menu->model());
}
#endif
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
                v8::Local<v8::Context> context, void* priv) {