initial work for compile-time evaluation (#3495)
Allows to skip unreachable code based on compile-time constant
conditions
e. g.
```
if (!process.turbopack) {
require("will-not-be-processed");
}
```
* add if() and process.turbopack fixes WEB-491
* Removes unreachable code fixes WEB-498
* evaluate some logical operations `&&`, `||`, `??`, `!`
* fix arguments handling fixes WEB-529
* nested effects for function called with closures
* handle closures when array methods are used fixes WEB-538
* evaluates `process.turbopack` fixes WEB-496