* 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
if (base::win::GetVersion() < base::win::VERSION_WIN7)
    return;
  CComPtr<IShellItem> item;
  HRESULT hr = SHCreateItemFromParsingName(
      path.value().c_str(), NULL, IID_PPV_ARGS(&item));
  if (SUCCEEDED(hr)) {
    SHARDAPPIDINFO info;
    info.psi = item;
    info.pszAppID = GetAppUserModelID();
    SHAddToRecentDocs(SHARD_APPIDINFO, &info);
  }
}
void Browser::ClearRecentDocuments() {
  CComPtr<IApplicationDestinations> destinations;
  if (FAILED(destinations.CoCreateInstance(CLSID_ApplicationDestinations,
                                           NULL, CLSCTX_INPROC_SERVER)))
    return;
  if (FAILED(destinations->SetAppID(GetAppUserModelID())))
    return;
  destinations->RemoveAllDestinations();
}
void Browser::SetAppUserModelID(const base::string16& name) {
  app_user_model_id_ = name;
  SetCurrentProcessExplicitAppUserModelID(app_user_model_id_.c_str());
}
bool Browser::SetUserTasks(const std::vector<UserTask>& tasks) {