Updated variable constructors across the codebase to use explicit names and initial values where applicable. Deprecated old constructor overloads and added new methods and overloads for better flexibility and readability. Minor cleanup includes replacing `default` keywords with `null` and streamlining code syntax.
* Fix `variables` handling override values set via `Set{VariableName}()` syntax
* Make `TenantsFeature` a dependency of `Multitenancy` to ensure streamlined initialization
From this point on, all application instances are multi-tenant with a single, default tenant. This streamlines the startup tasks that are designed around multitenancy.
* Add JS variable handling tests
* Ensure ExpandoObjects are correctly processed and synchronized between contexts and engines
Introduced a new helper method to process ExpandoObject conversions to JavaScript objects. Updated various handlers and functions to ensure ExpandoObjects are correctly processed and synchronized between contexts and engines. Added a new workflow test to validate the updated processing logic.