Fix: vm: In subscript, deref an object's sig.
Fix: vm: In subscript, deref an object's sig.

I think this is the third bug uncovered by trying to convert methods to be
varargs. This one was discovered by a fluke, and was an extreme pain to nail
down. Read on for all the details.

This starts off with sanity creating two lists in the circular ref test. These
lists go to particular storages. We'll say it's 4 and 17.

One of the method varargs tests would test casting to varargs (batching the
extra args into a list of object after casting them all to object). The bug
is trigger if there is NOT an o_obj_assign that uses either #4 or #17.

So then the actual method would be called with the list of object. It created
two objects, and subscripted from the varargs array. These subscripts would
dump to...storages #4, then #17.

Those storages had a list[object] as their sig, instead of something more
primitive. Subscript was writing over the object's value sig, causing it to
not be deref'd.

This was quite difficult to chase down.

crasm/lily,crasm/lily,crasm/lily,boardwalk/lily,boardwalk/lily