### 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.h
void GetAdditionalAllowedSchemesForFileSystem(
      std::vector<std::string>* additional_schemes) override;
  void GetAdditionalWebUISchemes(
      std::vector<std::string>* additional_schemes) override;
  void SiteInstanceDeleting(content::SiteInstance* site_instance) override;
  std::unique_ptr<net::ClientCertStore> CreateClientCertStore(
      content::ResourceContext* resource_context) override;
  std::unique_ptr<device::LocationProvider> OverrideSystemLocationProvider()
      override;
  network::mojom::NetworkContextPtr CreateNetworkContext(
      content::BrowserContext* browser_context,
      bool in_memory,
      const base::FilePath& relative_partition_path) override;
  network::mojom::NetworkContext* GetSystemNetworkContext() override;
  base::Optional<service_manager::Manifest> GetServiceManifestOverlay(
      base::StringPiece name) override;
  std::vector<service_manager::Manifest> GetExtraServiceManifests() override;
  content::MediaObserver* GetMediaObserver() override;
  content::DevToolsManagerDelegate* GetDevToolsManagerDelegate() override;
  content::PlatformNotificationService* GetPlatformNotificationService(
      content::BrowserContext* browser_context) override;
  std::unique_ptr<content::BrowserMainParts> CreateBrowserMainParts(
      const content::MainFunctionParams&) override;
  base::FilePath GetDefaultDownloadDirectory() override;
  scoped_refptr<network::SharedURLLoaderFactory>
  GetSystemSharedURLLoaderFactory() override;
  void OnNetworkServiceCreated(
      network::mojom::NetworkService* network_service) override;
  std::vector<base::FilePath> GetNetworkContextsParentDirectory() override;
  std::string GetProduct() override;