Fix compute_api object handling code in cells messaging

This fixes the calling convention for _from_db_object() in the
object handling code for calling compute_api in cells. It also
changes the guinea pig method from reboot to backup so that
we can convert reboot to objects in a few patches.

Related to blueprint compute-api-objects

Change-Id: I9d359cb13fc054375c2a7c1e45e6770f274c8449
Make api_samples reboot test use a plausible scenario

The idiot that wrote this test (me) implemented an invalid
sequence of events where a soft reboot follows a hard reboot,
which isn't allowed. I think the only reason this was passing
was because the instance dict in the api gets copied enough
times to avoid actually accounting for the state properly.

With the forthcoming objects patch, the accounting is tighter
and this impossibility gets caught.

Related to blueprint compute-api-objects

Change-Id: I7d08025df6f7895c97f84e8929a551ddede9f9ad
Add fill_faults() batch operation to InstanceList

This method will let us query the database a single time to fetch
and fill the instance.fault property of every instance in a list.

Related to blueprint compute-api-objects

Change-Id: I89d2056012e5bda7bc30e298e3abef07329cfa73
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp