Treat instance objects like objects in set_admin_password flow

The set_admin_password API path uses instance objects but does a direct
database update in nova.compute.api and accesses fields on the object
like a dict.

This patch changes the code to update the database via the
Instance.save() method and accesses fields on the object using dot
notation.

Part of blueprint compute-manager-objects-juno

Change-Id: Iff82b19ba4ea007930d20d26a613687484392861
Merge "Treat instance objects like objects in set_admin_password flow"