* Electron version: 2.0.0-beta.4
* Operating system: macOS 10.13.3

### Expected behavior

A reload of the window works.

### Actual behavior

A reload of the window does not work.

### How to reproduce

* run VSCode exploration ([download](https://az764295.vo.msecnd.net/exploration/6bc3274250cc949c7fb1d654cbb6e59c8ddad697/VSCode-darwin-exploration.zip))
* run "Reload Window" command
* sometimes I see the window stay blank after doing so and checking the console I see:

```
Uncaught (in promise) Error: Cannot get property 'id' on missing remote object 3
Error: Cannot get property 'id' on missing remote object 3
    at throwRPCError (/Applications/Visual Studio Code - Exploration.app/Contents/Resources/electron.asar/browser/rpc-server.js:143:17)
    at EventEmitter.<anonymous> (/Applications/Visual Studio Code - Exploration.app/Contents/Resources/electron.asar/browser/rpc-server.js:384:7)
    at emitThree (events.js:136:13)
    at EventEmitter.emit (events.js:217:7)
    at WebContents.<anonymous> (/Applications/Visual Studio Code - Exploration.app/Contents/Resources/electron.asar/browser/api/web-contents.js:295:13)
    at emitTwo (events.js:126:13)
    at WebContents.emit (events.js:214:7)
    at throwRPCError (/Applications/Visual Studio Code - Exploration.app/Contents/Resources/electron.asar/browser/rpc-server.js:143:17)
    at EventEmitter.<anonymous> (/Applications/Visual Studio Code - Exploration.app/Contents/Resources/electron.asar/browser/rpc-server.js:384:7)
    at emitThree (events.js:136:13)
    at EventEmitter.emit (events.js:217:7)
    at WebContents.<anonymous> (/Applications/Visual Studio Code - Exploration.app/Contents/Resources/electron.asar/browser/api/web-contents.js:295:13)
    at emitTwo (events.js:126:13)
    at WebContents.emit (events.js:214:7)
    at Object.exception (/Applications/Visual Studio Code - Exploration.app/Contents/Resources/electron.asar/renderer/api/remote.js:209:30)
    at metaToValue (/Applications/Visual Studio Code - Exploration.app/Contents/Resources/electron.asar/renderer/api/remote.js:213:28)
    at Object.descriptor.get [as id] (/Applications/Visual Studio Code - Exploration.app/Contents/Resources/electron.asar/renderer/api/remote.js:132:16)
    at file:///Applications/Visual%20Studio%20Code%20-%20Exploration.app/Contents/Resources/app/out/vs/workbench/electron-browser/bootstrap/index.js:11:97
    at new Promise (<anonymous>)
    at file:///Applications/Visual%20Studio%20Code%20-%20Exploration.app/Contents/Resources/app/out/vs/workbench/electron-browser/bootstrap/index.js:10:838
```
atom/browser/api/atom_api_web_contents.h
v8::Isolate* isolate, const mate::Dictionary& options);
  static void BuildPrototype(v8::Isolate* isolate,
                             v8::Local<v8::FunctionTemplate> prototype);
  
  void DestroyWebContents(bool async);
  int64_t GetID() const;
  int GetProcessID() const;
  base::ProcessId GetOSProcessID() const;
  Type GetType() const;
  bool Equal(const WebContents* web_contents) const;
  void LoadURL(const GURL& url, const mate::Dictionary& options);
  void DownloadURL(const GURL& url);
  GURL GetURL() const;
  base::string16 GetTitle() const;
  bool IsLoading() const;
  bool IsLoadingMainFrame() const;
  bool IsWaitingForResponse() const;
  void Stop();
  void ReloadIgnoringCache();
  void GoBack();
  void GoForward();
  void GoToOffset(int offset);
  const std::string GetWebRTCIPHandlingPolicy() const;
  void SetWebRTCIPHandlingPolicy(const std::string& webrtc_ip_handling_policy);
  bool IsCrashed() const;
  void SetUserAgent(const std::string& user_agent, mate::Arguments* args);
  std::string GetUserAgent();
  void InsertCSS(const std::string& css);
  bool SavePage(const base::FilePath& full_file_path,
                const content::SavePageType& save_type,