[Process] always manually inherit $_SERVER by kriswallsmith #8067

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

The `$_ENV` superglobal is not populated if `E` is not present in the `variables_order` directive. Since populating this variable is not recommended (for performance reasons), we should not rely on it.

This change updates the builder so `$env=null` is never passed to `proc_open()`. Instead we always merge the `$_SERVER` superglobal into any environment variables that were manually set on the builder (unless inherit has been disabled).

This is a copy of PR https://github.com/symfony/symfony/pull/8067 by @kriswallsmith. I have created a new PR because there were some failing tests and kriswallsmith seems to have no time to rebase.