### Issue Details

* **Electron Version:**
  * 3.x, 4.x, 5.x, 6.x
* **Operating System:**
  * All
* **Last Known Working Electron version:**:
  * 2.x

### Expected Behavior
When navigations occur, a new process should be created for the navigation.

### Actual Behavior
When a navigation occurs _during_ a preloads scripts execution the same process is re-used as Chromium does not think the navigation has been committed yet.  This causes a memory leak and all native node modules to break.

### To Reproduce
Fiddle: https://gist.github.com/MarshallOfSound/c89aa0037c3da114d44aa3a2d1a0fc24

### Screenshots
![image](https://user-images.githubusercontent.com/6634592/55097842-eb45dd00-5079-11e9-99bf-d49c0d997bca.png)

As you can see here there are three navigation loads, the second and the third one actually have the same process ID (and are running in the same process)
shell/browser/atom_browser_client.cc
if (bypass_redirect_checks)
    *bypass_redirect_checks = true;
  return true;
}
network::mojom::URLLoaderFactoryPtrInfo
AtomBrowserClient::CreateURLLoaderFactoryForNetworkRequests(
    content::RenderProcessHost* process,
    network::mojom::NetworkContext* network_context,
    network::mojom::TrustedURLLoaderHeaderClientPtrInfo* header_client,
    const url::Origin& request_initiator) {
  auto render_process_id = process->GetID();
  auto it = process_preferences_.find(render_process_id);
  if (it != process_preferences_.end() && !it->second.web_security) {
    
    network::mojom::URLLoaderFactoryParamsPtr params =
        network::mojom::URLLoaderFactoryParams::New();
    if (header_client)
      params->header_client = std::move(*header_client);
    params->process_id = render_process_id;
    params->is_corb_enabled = false;
    
    network::mojom::URLLoaderFactoryPtrInfo factory_info;
    network_context->CreateURLLoaderFactory(mojo::MakeRequest(&factory_info),
                                            std::move(params));
    return factory_info;
  }
  return network::mojom::URLLoaderFactoryPtrInfo();
}
#if defined(OS_WIN)
bool AtomBrowserClient::PreSpawnRenderer(sandbox::TargetPolicy* policy) {