Make Instance.save() handle cells DB updates

This adds support to Instance.save() to handle updating cells with
changes to the instance.

Instance.save() needs to support expected_vm_state when saving changes.
It also needs to understand whether or not any task_state/vm_state
changes are coming from a forced-reset.  Normally we do not want to
update child cells' view of vm_state and task_state, but forced-resets
should be sent down.

Adds a new cells method for updating instances in child cells.

Related to blueprint compute-api-objects

Change-Id: I228bc3e0288ca94fd30b91eaf1bc5b77bcdc249f
Merge "Make Instance.save() handle cells DB updates"