* Electron version: 1.7.x
* Operating system: Windows

### Expected behavior
removeAsDefaultProtocolClient should also delete the protocol key - HKCU\Software\Classes\#protocol#

### Actual behavior
removeAsDefaultProtocolClient doesn't delete the protocol key - HKCU\Software\Classes\#protocol#

### How to reproduce
Call app.setAsDefaultProtocolClient('foo') and app.removeAsDefaultProtocolClient('foo'). HKCU\Software\Classes\foo stay in the registry for windows.
atom/browser/browser_win.cc
return false;
}
void Browser::SetLoginItemSettings(LoginItemSettings settings) {
  base::string16 keyPath = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run";
  base::win::RegKey key(HKEY_CURRENT_USER, keyPath.c_str(), KEY_ALL_ACCESS);
  if (settings.open_at_login) {
    base::string16 exe = settings.path;
    if (FormatCommandLineString(&exe, settings.args)) {
      key.WriteValue(GetAppUserModelID(), exe.c_str());
    }
  } else {
    key.DeleteValue(GetAppUserModelID());
  }
}
Browser::LoginItemSettings Browser::GetLoginItemSettings(
    const LoginItemSettings& options) {
  LoginItemSettings settings;
  base::string16 keyPath = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run";
  base::win::RegKey key(HKEY_CURRENT_USER, keyPath.c_str(), KEY_ALL_ACCESS);
  base::string16 keyVal;
  if (!FAILED(key.ReadValue(GetAppUserModelID(), &keyVal))) {
    base::string16 exe = options.path;
    if (FormatCommandLineString(&exe, options.args)) {
      settings.open_at_login = keyVal == exe;
    }
  }
  return settings;
}
PCWSTR Browser::GetAppUserModelID() {