Zef interpreter after Optimization #7: Arguments
This removes the use of std::optional<std::vector<value>> for passing arguments to functions.
Instead, the caller allocates an Arguments object, which is preformatted according to how the callee would have allocated their arguments scope.
1.3x speed-up (since weβre halving the number of allocations needed for calling a function).