Thanks for Electron! Amazing project :)

* Electron version: 1.6.2
* Operating system: macOS Sierra (10.12.3)

It happens when `BrowserWindow` is opened with `sandbox: true`. It might be on purpose, but I couldn't find any Electron/Chromium documentation that explains why. So I'm suspecting it's a bug. I can submit a PR with a failing test to this repo if you agree that it's a bug.

### Expected behavior

`webContents`' `will-navigate` event should fire when user reloads page fx.

### Actual behavior

It does not fire.

### How to reproduce

package.json:

```json
{
  "name": "electron-sandbox-will-navigate-bug",
  "version": "0.0.0",
  "main": "main.js",
  "dependencies": {
    "electron": "^1.6.2"
  }
}
```

main.js:

```js
const {app, BrowserWindow} = require('electron')
const path = require('path')

app.on('ready', function() {
  const win = new BrowserWindow({
    webPreferences: {
      sandbox: true
    }
  })

  const {webContents} = win
  webContents.on('will-navigate', () => {
    console.log('will-navigate')
  })
  webContents.on('did-navigate', () => {
    console.log('did-navigate')
  })

  win.loadURL('file://' + path.join(__dirname, 'index.html'))
})
```

index.html:

```html
<!doctype html>
<html>
  <body>
    <button onclick="window.location.reload()">Reload</button>
  </body>
</html>
```

Perform these steps:

- Run `npm install`
- Run `./node_modules/.bin/electron .`
- Click the Reload button in the browser window
- Observe the Terminal output

Expected output:

```
did-navigate
will-navigate
did-navigate
```

Actual output:

```
did-navigate
did-navigate
```

(will-navigate is not fired).

If you outcomment the line `sandbox:true` in `main.js`, then it works as expected.
shell/renderer/electron_sandboxed_renderer_client.cc
v8::Handle<v8::Context> context,
    content::RenderFrame* render_frame,
    int world_id) {
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
  NOTREACHED();
#else
  auto* isolate = context->GetIsolate();
  gin_helper::Dictionary process = gin::Dictionary::CreateEmpty(isolate);
  process.SetMethod("_linkedBinding", GetBinding);
  std::vector<v8::Local<v8::String>> isolated_bundle_params = {
      node::FIXED_ONE_BYTE_STRING(isolate, "nodeProcess"),
      node::FIXED_ONE_BYTE_STRING(isolate, "isolatedWorld"),
      node::FIXED_ONE_BYTE_STRING(isolate, "worldId")};
  std::vector<v8::Local<v8::Value>> isolated_bundle_args = {
      process.GetHandle(),
      GetContext(render_frame->GetWebFrame(), isolate)->Global(),
      v8::Integer::New(isolate, world_id)};
  util::CompileAndCall(context, "electron/js2c/content_script_bundle",
                       &isolated_bundle_params, &isolated_bundle_args, nullptr);
#endif
}
void ElectronSandboxedRendererClient::WillReleaseScriptContext(