* Electron version: All
* Operating system: All

### Expected behavior

`process.versions.electron` should be non-configurable

### Actual behavior

```js
process.versions.electron = '99.99.99'
```

Code such as the above will override the Electron version which can stop third party modules correctly recognising the Electron version.

### How to reproduce

Run the code above^^

The reason this is an issue is that other versions such as `process.versions.node` can not be configured / changed.
atom/common/api/atom_bindings.cc
mate::Arguments* args) {
  base::SystemMemoryInfoKB mem_info;
  if (!base::GetSystemMemoryInfo(&mem_info)) {
    args->ThrowError("Unable to retrieve system memory information");
    return v8::Undefined(isolate);
  }
  mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
  dict.SetHidden("simple", true);
  dict.Set("total", mem_info.total);
  
  int free =
#if defined(OS_WIN)
      mem_info.avail_phys;
#else
      mem_info.free;
#endif
  dict.Set("free", free);
  
#if !defined(OS_MACOSX)
  dict.Set("swapTotal", mem_info.swap_total);
  dict.Set("swapFree", mem_info.swap_free);
#endif
  return dict.GetHandle();
}
v8::Local<v8::Value> AtomBindings::GetCPUUsage(base::ProcessMetrics* metrics,