Fix an omission in the last patch.

Change-Id: Ia6bf2a0ec7966b79be921bda92004240a0c3af1c
Communicate changes made during methods back to the caller

Right now, we have places where we'll make some update to, say
an instance, and each time we do that, we get back a fresh copy
of the instance in case other properties have been changed since
we fetched our object. This change makes the object_action()
return information about fields that were changed during a method,
if the method implementation left them in the what_changed()
list. Only these changes are communicated back to the caller
over RPC and applied to the caller's object.

In local mode, changes made to the object by the method
implementation will, obviously, be visible to the caller, giving
the same semantics as remote.

Change-Id: I7bee4e1b985c583248e1a496379aa17c88f33b39
Add a (maybe temporary) debug for attribute failures

Change-Id: I3483d990cf7dbb45b9815e26dbd7f6748bd73532
More instance usage fixes

This implements Instance.refresh() as a lightweight (RPC-wise)
way to refresh your object from the database. This uses the
method-initiated updates function of a couple patches ago, and its
use is demonstrated by removing a bit of redundant instance-fetching
in test_compute.

This is messy because it fixes other issues with instance, but
the meat is in instance_obj.Instance::refresh() and the
corresponding test_object function for it.

Change-Id: Id608c5dd4139950fd25b346bcc53b68b6e698105