set object_info_t pool of an ObjectContext if it is undefined or bad

When reading object_info_t from an existing object attribute, the pool
may be < 0 and should be set to the pool containing the object. This is done
on the oi object on the stack but overriden later by:

    obc->obs.oi.decode(bv);

This decode is superfluous and is removed so that it does not override
the modified value of the pool.