(#22263) Rename box_numeric to coerce_numeric

There is no "boxing" going on in Ruby (since there are no native
data types). The term 'coerce' is much better for this.
(#22363) Port use of FileSystem to Lexer2

The regular lexer was modified to use the FileSystem when checking
for file existence. This is no ported to Lexer2
(#22363) Add strict variable lookup mode

This adds the setting :strict_variables. When used the scope
will throw :unkown_variable (which if not handled, will raise
an exception). The future evaluator can handle this, but none of
the other parsers/evaluator options. Testing of the future evaluator
turns on strict variables mode (and has tests that an error is raised).

This commit also contains maintenance (removal of unused code), fixing
of the pops bridge (special case when evaluating without a proper boot)