Had a slight bug where an event might call speculate on an object:

   speculate(obj);

which translates to:

   obj.speculate(active_event,obj.get_val(active_event));

but get backed out between get_val and speculate.  This should take
care of that by ignoring speculation on top of empty root objects.
(Speculation on top of empty speculative objects are not a big deal,
because promotion takes care of them.)