Object cleanups

1) Fix uses of hasattr(self, base.get_attrname()) to use self.obj_attr_is_set().
2) Remove an unused variable created by recent fix.
3) Use functools.wraps() on decorators so we get correct function names
in tracebacks.

Change-Id: I07aac43742894dad22231771083a94248d300711
Merge "Object cleanups"