Runtime/Behavior Changes

In 10.5 eqBox(Str, Str) and other cases produces incorrect results. eqBox() now uses the eqBoxedValue() function which always has produced correct results for all boxed values including strings.

use cm.runtime;
{
    str a = "dd";
    str b = "dd";
    str c = "d" # "d";
    str d = b.copy;
    pln(#a.eqBox(b));
    pln(#a.eqBox(c));
    pln(#a.eqBox(d));
    pln(#a.eqBoxedValue(b));
    pln(#a.eqBoxedValue(c));
    pln(#a.eqBoxedValue(d));
}

10.5:
a.eqBox(b)=true
a.eqBox(c)=false
a.eqBox(d)=false
a.eqBoxedValue(b)=true
a.eqBoxedValue(c)=true
a.eqBoxedValue(d)=true

11.0:
a.eqBox(b)=true
a.eqBox(c)=true
a.eqBox(d)=true
a.eqBoxedValue(b)=true
a.eqBoxedValue(c)=true
a.eqBoxedValue(d)=true