* 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/node_bindings.cc
DCHECK(task_runner_);
  task_runner_->PostTask(FROM_HERE, base::BindOnce(&NodeBindings::UvRunOnce,
                                                   weak_factory_.GetWeakPtr()));
}
void NodeBindings::WakeupEmbedThread() {
  uv_async_send(&dummy_uv_handle_);
}
void NodeBindings::EmbedThreadRunner(void* arg) {
  NodeBindings* self = static_cast<NodeBindings*>(arg);
  while (true) {
    
    uv_sem_wait(&self->embed_sem_);
    if (self->embed_closed_)
      break;
    
    
    
    
    
    self->PollEvents();
    if (self->embed_closed_)
      break;
    
    self->WakeupMainThread();
  }
}
}