vm: Kick object assign out so that o_set_global can use it. Fixes GH #10.

This was caused by o_set_global not special casing objects. I decided it would
be easiest to kick out the vm's object assignment into a call, then call it
when o_set_global has an object for the left.