always manually inherit $_SERVER

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).