(#22363) Fix issues relating to handling of undef and "to_s"

This adds the polymorph string_ visitor to the evluator for the
purpose of producing the string when doing interpolation.
Previously this was simply done by doing .to_s on the object which
then produced the text 'under' for the symbol 'undef'.
(#22363) Add impl of evaluation of resource defaults and overrides

This adds implementation of resource defaults (i.e. Type {a => b}, and
resource overrides (i.e. Type[x,y,z] { a => b }).

Smoke tested via the command line and small manifests.