* 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
LOG(ERROR) << "Fatal error in V8: " << location << " " << message;
  AtomBindings::Crash();
}
}  
AtomBindings::AtomBindings(uv_loop_t* loop) {
  uv_async_init(loop, &call_next_tick_async_, OnCallNextTick);
  call_next_tick_async_.data = this;
  metrics_ = base::ProcessMetrics::CreateCurrentProcessMetrics();
}
AtomBindings::~AtomBindings() {
  uv_close(reinterpret_cast<uv_handle_t*>(&call_next_tick_async_), nullptr);
}
void AtomBindings::BindTo(v8::Isolate* isolate, v8::Local<v8::Object> process) {
  isolate->SetFatalErrorHandler(FatalErrorCallback);
  mate::Dictionary dict(isolate, process);
  dict.SetMethod("crash", &AtomBindings::Crash);
  dict.SetMethod("hang", &Hang);
  dict.SetMethod("log", &Log);
  dict.SetMethod("getHeapStatistics", &GetHeapStatistics);
  dict.SetMethod("getCreationTime", &GetCreationTime);
  dict.SetMethod("getSystemMemoryInfo", &GetSystemMemoryInfo);