Make print const

Make Object::print method const and propagate const correctness accordingly.
Ouch! This needs a big comment saying KLUDGE/HACK/FIXME or something on those lines. This method should *not* be modifying the Property. The correct behavior would have been for the object name to have been set when it was put into the Property in the first place. Then it could be checked here with an assert() to make sure it had the right name.

I can live with it as-is as long as it is clearly marked since in practice I don't think it will break anything. But I don't like it!